所以你的例子对我来说效果很好:
//Placed in web/
import 'dart:js';
void main() {
//This doesnt work in js
context['chrome']['runtime']['onMessage'].callMethod('addListener', [onMessageListener]);
context['chrome']['runtime'].callMethod('sendMessage', ['someMessage']);
context['chrome']['runtime'].callMethod('sendMessage', [null, 'someMessage']);
}
void onMessageListener(message, sender, sendResponse) {
print("test");
print(message);
}
Output
test (:1)
someMessage (:1)
test (:1)
someMessage (:1)
问候,
罗伯特
// 抱歉错过了你得到的异常
您应该在 www.dartbug.com 上提交有关此问题的错误
问候,
罗伯特
// 现在您应该能够使用 chrome 包。它在这里工作得很好:
import 'dart:js';
import 'package:chrome/chrome_ext.dart' as chrome;
void onMessageListener(message, sender, sendResponse) {
print("test");
print(message);
}
void main() {
chrome.runtime.onMessage.listen((chrome.OnMessageEvent event) {
print(event.message);
});
JsObject runtime = context['chrome']['runtime'];
runtime.callMethod('sendMessage', ['someMessage']);
runtime.callMethod('sendMessage', [null, 'someMessage']);
}
问候,
罗伯特