Firefox扩展util / match
我正在为Mozilla Firefox和Google Chrome开发浏览器扩展。 该扩展提供了Oracle APEX的功能。 由于is只能在运行Oracle APEX的页面上运行,因此我在子目录和参数中标识具有匹配模式的页面。 对于我将这添加到我的manifest.json中的 Chrome来说,这很容易
"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获得匹配模式,或者如果有其他解决方案,那么我的内容脚本将无法在任何页面上运行?
匹配模式支持正则表达式,所以这样的事情应该工作。 您可能需要稍微练习一下确切的语法。
["/.*f?p=.*/*", "/.*wwv_flow.accept.*/"]