我正在尝试将Declarative Content API与chrome.dart一起使用。我只想在加载匹配的URL时显示pageAction图标。
我正在寻找一个如何做到这一点的工作示例。
我现在在做什么。首先,我创建一个名为r
var url = new chrome.UrlFilter(
pathSuffix: 'private/chat/index.pl'
, queryContains: 'xyz=');
var matcher = new chrome.PageStateMatcher(pageUrl: url);
var r = new chrome.Rule(
id: 'myrule'
, actions: [new chrome.ShowPageAction()]
, conditions: [matcher]);
从documentation,我想我应该这样做(这不起作用,抛出异常)
var eventName = 'onPageChanged';
var e = new chrome.ChromeEvent();
e.addRules(eventName, [r]);
例外是
Exception: NoSuchMethodError: method not found: 'addRules'
Receiver: Instance of 'JsObject'
Arguments: ["onPageChanged", Instance of 'JsArray', Closure: ([dynamic]) => dynamic]
我试图找到其他方法来获取ChromeEvent的实例。我在图书馆里找不到任何东西。我得到的最远的是做
var p = jsContext['chrome']['declarativeContent']['onPageChanged'];
var e = new chrome.ChromeEvent.fromProxy(p);
也因异常而崩溃,但代码更深一些;)
相关chrome.dart问题:https://github.com/dart-gde/chrome.dart/issues/161