dart2js
Chrome 拡張機能のコンパイル済みバージョンを実行すると、次の問題が発生します。
Uncaught TypeError: undefined is not a function
実行時
context['chrome']['runtime']['onConnect'].callMethod('addListener', [(port) { ... }]);
おそらく原因を指摘する例を作成しました:
background.dart
import 'dart:js';
void main() {
print("main(): context['chrome']['runtime']['onConnect'] (${context['chrome']['runtime']['onConnect'].runtimeType}): ${context['chrome']['runtime']['onConnect']}");
}
Dartium で印刷:
main(): context['chrome']['runtime']['onConnect'] (JsObject): [object Object]
しかしChromeでは:
main(): context['chrome']['runtime']['onConnect'] (Event): Instance of 'Event'
Chrome 拡張機能をビルドするときの Dartium と dart2js の違い( https://code.google.com/p/dart/issues/detail?id=17086 )に関連していますか?
chrome.runtime.onConnect
Dartium と Chrome の両方で機能するリスナーを登録する方法を提案できますか?