FireFox addon-sdk page-worker 正则表达式

FireFox addon-sdk page-worker regex

根据 MDN 的页面 page-worker API,我应该可以使用 Reg-ex 作为函数包含部分的参数。

var data = require("sdk/self").data;
var page = require("sdk/page-worker");
var re = new RegExp("/.*google.*/");

function doTheThing(){
    page.Page({
        include: re,
        contentURL: data.url("webPage.html"),
        contentScriptWhen: "ready",
        contentScript: 'document.body.style.border = "5px solid red";'
    })
}

这段代码的作用是,当浏览器中加载一个选项卡时,它应该检查 url,如果其中包含 google,我的 ContentScript 应该 运行 .问题是我收到以下错误..

 Message: RequirementError: The option "include" must be one of the following types: string, array, undefined

为什么我不能使用正则表达式作为参数? API 明确指出允许使用 Reg-ex。

文档似乎与 page-worker 的初始化代码不匹配,我认为错误在于它只检查字符串或数组。我发现如果将 regex 对象包含在一个数组中,这是可行的:

var data = require("sdk/self").data;
var page = require("sdk/page-worker");
var re = new RegExp("/.*google.*/");

function doTheThing(){
    page.Page({
        include: [re], // only accepts regex objects in an array
        contentURL: data.url("webPage.html"),
        contentScriptWhen: "ready",
        contentScript: 'document.body.style.border = "5px solid red";'
    })
}

我已记录此错误以跟踪问题:https://bugzilla.mozilla.org/show_bug.cgi?id=1138545