javascript - Firefox Extension util/match-pattern 子目录

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

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

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

但是,如果我在 Firefox 中尝试使用 ma​​in.js 中的 PageMod API 进行相同的操作,我将无法获得任何匹配项,因此我会尝试各种组合:

ma​​in.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 获取匹配模式,或者是否有任何其他解决方案使我的内容脚本不会在任何页面上运行?

最佳答案

match pattern支持正则表达式,所以像这样的东西应该可以工作。您可能需要稍微尝试一下确切的语法。

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

关于javascript - Firefox Extension util/match-pattern 子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24525833/

相关文章:

php - 在 PHP 中提取与 CAS 编号模式匹配的所有字符串值

javascript - 如何间接使用ContentScripts中网页定义的函数?

javascript - 在 NodeJS 中使用嵌套回调时遇到问题

javascript - 子 Node 上的 XPath 选择

javascript - 无法在 Node 中使用 ndjson 流,但类似的代码在 React 中有效

regex - 实现 Google 搜索运算符

javascript - 使用 JQuery 禁用 5 个选择列表之间的选定选项

mysql - 使用 MySQL Regex - 匹配字符串的第一个单词和第二个字母

javascript - 为什么我不能将我的项目分配给我的对象的常量?

javascript - 列出 Chrome 扩展程序中的所有网络可访问资源