Флаттер [webview_флаттер] Как javascriptChannels работают с портами?

#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?