从 JavaScript 发送消息到 Flutter

// Flutter 代码
webViewController.webMessage.listen((dynamic message) {
  setState(() {
    lastMessage = message;
  });
  ScaffoldMessenger.of(context).showSnackBar(
    SnackBar(content: Text('收到消息: $message')),
  );
});
// JavaScript 代码
function sendMessage() {
  window.chrome.webview.postMessage('Hello from JavaScript!');
}

从 Flutter 发送消息到 JavaScript

// Flutter 代码
await webViewController.postWebMessage('message from Flutter');
// JavaScript 代码
window.chrome.webview.addEventListener('message', event => {
  console.log('收到来自 Flutter 的消息:', event.data);
});

特点

  • 适合长期通信和事件监听场景
  • 支持双向通信
  • 可以处理异步事件
  • 适合需要持续监听的场景