Javascript Firefox扩展util/match pattern子目录
我正在为Mozilla Firefox和Google Chrome开发一个浏览器扩展。该扩展为Oracle APEX提供了功能。由于应该只在运行OracleApex的页面上运行,因此我在子目录和参数中使用匹配模式来标识这些页面。这对于Chrome来说很容易,我将其添加到我的manifest.json中Javascript Firefox扩展util/match pattern子目录,javascript,regex,google-chrome-extension,firefox-addon-sdk,Javascript,Regex,Google Chrome Extension,Firefox Addon Sdk,我正在为Mozilla Firefox和Google Chrome开发一个浏览器扩展。该扩展为Oracle APEX提供了功能。由于应该只在运行OracleApex的页面上运行,因此我在子目录和参数中使用匹配模式来标识这些页面。这对于Chrome来说很容易,我将其添加到我的manifest.json中 "content_scripts": [{ "matches": ["*://*/*f?p=*", "*://*/*wwv_flow.accept*"], "js": ["content_
"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",
var url = unsafeWindow.location.href;
if (url.match(new RegExp("f?p=")) || url.match(new RegExp("wwv_flow.accept")))
现在我正在任何页面上运行Firefox中的content_脚本,并使用Javascript匹配功能检查URL,如果没有匹配,我会立即返回
content\u script.js
pageMod.PageMod({
include: ["*://*/*f?p=*", "*://*/*wwv_flow.accept*"],
contentScriptFile: data.url("content_script.js"),
contentScriptWhen: "end",
var url = unsafeWindow.location.href;
if (url.match(new RegExp("f?p=")) || url.match(new RegExp("wwv_flow.accept")))
我的问题是,是否有可能获得PageMOD API的匹配模式,或者是否有任何其他解决方案使我的内容脚本不会在任何页面上运行?支持正则表达式,因此类似的方法应该可以工作。您可能需要稍微修改一下确切的语法
[“/.*f\?p\=.*/*”,“/.*wwv\u flow\.accept.*/”]
无论出于何种原因,SDK匹配模式只支持一个模式。使用类似@abraham answer的正则表达式。