1

フラッター プラグインの操作: webview_flutter

JS から webview_flutter にデータを送信する例はすべて、構文が似ています。

ウェブページ:

<script>
 toFlutter.postMessage('{"name":"Hello World"}');
</script>

フラッター:

javascriptChannels: { 
   JavascriptChannel( 
       name: 'toFlutter', 
       onMessageReceived: (message) async { 
           print('Javascript: "${message.message}"'); 
       }, 
   ), 
 },

それは機能しますが、例外は... Webブラウザーで表示すると、そのWebページでJSエラーが発生します。(他のJSが実行されないようにする)

javascriptChannel の正しい (javascript) 構文は次のようになります。

<script>
 var toFlutter = new MessageChannel(); 
 toFlutter.port1.postMessage('{"name":"Hello World"}'); 
</script>

これは webbrowser 内で機能しますが、もちろん今 webview_flutter は満足していません。

明らかに、これを回避する方法があります。私はただ尋ねたいのです: ドキュメントに何か見落としがありましたか? webview_flutter でチャネル名とポートの両方を指定する方法はありますか?

4

0 に答える 0