Вы можете использовать свойство javascriptChannels
класса WebView
.
Для флаттера - вам нужно создать новый JavascriptChannel
и передать его в ваш WebView
конструктор:
JavascriptChannel channel = JavascriptChannel(name: 'Print', onMessageReceived: (JavascriptMessage message) { print(message.message); });
WebView(
javascriptChannels: {channel},
...
)
Свойство onMessageReceived
канала можно использовать для обработки сообщения любым нужным вам способом.
Для JS - В любое время, когда вы хотите отправить сообщение с номера JS, звоните name
(в данном случае «Печать») .postMessage(message)
:
Print.postMessage('Hello');