Firefox Extension util / match-pattern子目录

时间:2014-07-02 07:58:13

标签: javascript regex google-chrome-extension firefox-addon-sdk

我正在为Mozilla Firefox和Google Chrome开发浏览器扩展程序。该扩展为Oracle APEX提供了功能。因为is应该只在运行Oracle APEX的页面上运行,所以我在子目录和参数中识别出具有匹配模式的页面。对于Chrome,我很容易将其添加到 manifest.json

"content_scripts": [{
  "matches": ["*://*/*f?p=*", "*://*/*wwv_flow.accept*"],
  "js": ["content_script.js"],
  "run_at": "document_end"
}]

但是,如果我在Firefox中使用 main.js 中的PageMod API尝试相同的操作,我无法获得任何匹配,我会尝试各种组合:

main.js

pageMod.PageMod({ 
           include: ["*://*/*f?p=*", "*://*/*wwv_flow.accept*"],
           contentScriptFile: data.url("content_script.js"),
           contentScriptWhen: "end",

现在我在任何页面上运行Firefox中的content_script并使用Javascript匹配功能检查URL,如果不匹配我立即返回

content_script.js

    var url = unsafeWindow.location.href;
    if (url.match(new RegExp("f?p=")) || url.match(new RegExp("wwv_flow.accept")))

我的问题是,是否可以获得PageMOD​​ API的匹配模式,或者是否有任何其他解决方案,以便我的内容脚本不会在任何页面上运行?

1 个答案:

答案 0 :(得分:2)

match pattern支持正则表达式,所以这样的东西应该有效。您可能需要稍微使用确切的语法。

["/.*f\?p\=.*/*", "/.*wwv_flow\.accept.*/"]