如何使用chrome.dart为`declarativeContent` API添加`addRules`

时间:2014-03-30 22:33:10

标签: google-chrome-extension dart

我正在尝试将Declarative Content APIchrome.dart一起使用。我只想在加载匹配的URL时显示pageAction图标。

我正在寻找一个如何做到这一点的工作示例。

我现在在做什么。首先,我创建一个名为r

的chrome.Rule实例
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

0 个答案:

没有答案