registerJavaScriptMessageHandler method
Future<void>
registerJavaScriptMessageHandler(
- String name,
- JavaScriptMessageHandler handler
override
Install a message handler that you can call from your Javascript code.
available: macOS (10.10+)
Implementation
@override
Future<void> registerJavaScriptMessageHandler(
String name,
JavaScriptMessageHandler handler,
) async {
if (!Platform.isMacOS) {
throw UnsupportedError(
'JavaScript message handlers are only supported on macOS.',
);
}
_ensureOpen();
if (name.trim().isEmpty) {
throw ArgumentError.value(name, 'name', 'Must not be empty.');
}
if (_javaScriptMessageHandlers.containsKey(name)) {
throw StateError('JavaScript handler "$name" is already registered.');
}
_javaScriptMessageHandlers[name] = handler;
await channel.invokeMethod("registerJavaScripInterface", {
"viewId": viewId,
"name": name,
});
}