#flutter #dart #webview-flutter
#трепетать #дротик #веб-просмотр-флаттер
Вопрос:
Работа с плагином flutter: webview_flutter
Все примеры отправки данных из JS в webview_flutter имеют схожий синтаксис:
Веб-страница:
lt;scriptgt; toFlutter.postMessage('{"name":"Hello World"}'); lt;/scriptgt;
Трепетать:
javascriptChannels: { JavascriptChannel( name: 'toFlutter', onMessageReceived: (message) async { print('Javascript: "${message.message}"'); }, ), },
Это работает, за исключением… Теперь эта веб-страница выдает мне ошибку JS при просмотре в веб-браузере. (предотвращение запуска других JS)
Правильный синтаксис (javascript) для javascriptChannel выглядит примерно так:
lt;scriptgt; var toFlutter = new MessageChannel(); toFlutter.port1.postMessage('{"name":"Hello World"}'); lt;/scriptgt;
Это работает внутри веб-браузера, но теперь webview_flutter, конечно, недоволен.
Очевидно, что есть способы обойти это, я просто спрашиваю: я что-то пропустил в документации? Есть ли способ указать имя канала и порт в webview_flutter?