google-chrome-extension - 使用 Firefox 时,内容脚本模式“*://mail.google.com/*”与 gmail 不匹配
问题描述
我有一个为 chrome 编写的扩展。我最近决定要将它移植到 Firefox,我很惊讶有多少东西开箱即用,根本没有任何变化。但是,让我感到困惑的一件事是,由于某种原因,我的gmail.js
内容脚本没有被加载。这是我的内容脚本:
{
"name": "Copy Machine",
"description": "Copies text more better",
"version": "0.6",
"permissions": ["contextMenus", "tabs"],
"icons": {
"16": "icon_16.png",
"32": "icon_32.png"
},
"background": {
"scripts": ["background.js"]
},
"manifest_version": 2,
"content_scripts": [
{
"matches": [
"*://mail.google.com/*"
],
"js": ["gmail.js"],
"run_at": "document_idle"
},
{
"matches": [
"<all_urls>"
],
"js": ["generic.js"],
"run_at": "document_idle"
}
]
}
我的 gmail.js 内容脚本的第一行是:
console.log("GMAIL SCRIPT IS RUNNING");
我的 generic.js 内容脚本的第一行是:
console.log("GENERIC SCRIPT IS RUNNING");
当我在 Firefox 中打开我的 gmail 帐户时,在控制台中我看到“通用脚本正在运行”,但没有看到“GMAIL 脚本正在运行”。
使用谷歌浏览器,这可以按我的预期工作,但由于某种原因,URL 模式不匹配。有什么我想念的吗?谢谢。
解决方案
所以我最终添加"*://mail.google.com/*"
到permissions
清单文件中,这让事情按我预期的方式工作。然后我不得不用不可用的 api 修复一些其他错误,这就是我应该开始的:
https://extensionworkshop.com/documentation/develop/porting-a-google-chrome-extension/
然后我回去提交错误报告,当我删除"*://mail.google.com/*"
它时它会继续工作。所以也许有一些奇怪的循环依赖发生了?我不确定。
推荐阅读
- swift - UIScrollView 内的 MultiScrolling UIColectionView
- vuejs2 - 为什么我需要在 import 语句后附加 .default
- c# - 是否可以在 C# 中双面打印,例如打印身份证或驾驶执照?
- jenkins - 是否保证 Jenkins 管道中的所有阶段都将在同一主机上执行?
- c# - 如何创建excel并在azure中上传
- d3.js - 使用 d3.js 版本 4 或版本 5 限制折线图中 X 轴上的平移
- angular - (未知 url)的 Http 失败响应
- angular - 以角度将数组数据传递给matdialog
- java - Apache POI,更改文件 Mime 类型。有可能修复它吗?
- hyperledger-fabric - 如何更新现有组织的加密材料(频道更新)