从 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);
});
特点
- 适合长期通信和事件监听场景
- 支持双向通信
- 可以处理异步事件
- 适合需要持续监听的场景