一个包装了 JavaScript 的 window.onmessage 的流,即使在 Web 以外的平台上也可以安全地导入。
目的
在 Web 应用中,您可以像这样监听来自其他帧的事件
import 'dart:html' as html;
void main() {
html.window.onMessage.listen((html.MessageEvent event) {
// Handle.
});
// ...
}
但是,dart:html 在 Web 以外的平台上不可用。如果使用它,您的应用将无法在那里构建。
此包提供了该消息流的包装器,可以在所有平台上使用。在 Web 以外的平台上,该流只会产生零事件。
用法
import 'package:onmessage/onmessage.dart';
void main() {
OnMessage.instance.stream.listen((MessageEvent event) {
// Handle.
});
// ...
}
此包中的 MessageEvent 类是一个独立的类,其字段已从原始 html.MessageEvent 复制。它被提供出来,以便您可以使用一个与 Web 无关的 API。