WebJavascriptRuntime class

Web-compatible JavaScript runtime using the browser's JavaScript engine

This runtime allows full access to browser APIs including:

  • DOM manipulation (document, window, etc.)
  • HTML element creation and modification
  • All standard browser JavaScript APIs

Example:

final runtime = getJavascriptRuntime();
runtime.evaluate('''
  const div = document.createElement('div');
  div.innerHTML = 'Hello from JavaScript!';
  document.body.appendChild(div);
''');
Inheritance
Available extensions

Constructors

WebJavascriptRuntime()

Properties

dartContext Map<String, dynamic>
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
localContext Map<String, dynamic>
getter/setter pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

callFunction(dynamic fn, dynamic obj) JsEvalResult
override
clearXhrPendingCalls() → void

Available on JavascriptRuntime, provided by the JavascriptRuntimeXhrExtension extension

convertValue<T>(JsEvalResult jsValue) → T?
override
dispose() → void
override
enableFetch() Future<JavascriptRuntime>

Available on JavascriptRuntime, provided by the JavascriptRuntimeFetchExtension extension

enableHandlePromises() → dynamic

Available on JavascriptRuntime, provided by the HandlePromises extension

enableXhr() JavascriptRuntime

Available on JavascriptRuntime, provided by the JavascriptRuntimeXhrExtension extension

evaluate(String code, {String? sourceUrl}) JsEvalResult
override
evaluateAsync(String code, {String? sourceUrl}) Future<JsEvalResult>
override
executePendingJob() int
override
getEngineInstanceId() String
override
getPendingXhrCalls() List?

Available on JavascriptRuntime, provided by the JavascriptRuntimeXhrExtension extension

handlePromise(JsEvalResult value, {Duration? timeout}) Future<JsEvalResult>

Available on JavascriptRuntime, provided by the HandlePromises extension

hasPendingXhrCalls() bool

Available on JavascriptRuntime, provided by the JavascriptRuntimeXhrExtension extension

init() JavascriptRuntime
inherited
initChannelFunctions() → void
override
isFulfilledPromise(int idx) bool

Available on JavascriptRuntime, provided by the HandlePromises extension

isPendingPromise(int idx) bool

Available on JavascriptRuntime, provided by the HandlePromises extension

jsonStringify(JsEvalResult jsValue) String
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onMessage(String channelName, dynamic fn(dynamic args)) → dynamic
inherited
sendMessage({required String channelName, required List<String> args, String? uuid}) → dynamic
inherited
setInspectable(bool inspectable) → void
override
setupBridge(String channelName, void fn(dynamic args)) bool
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited