如何在 manifest.json Chrome 扩展中同时使用主题和内容脚本?
How to use BOTH theme and content-scripts in manifest.json Chrome Extension?
我正在尝试制作一个 chrome 主题,该主题既具有风格特征(在清单“主题”元素中)又具有内容脚本(在“内容脚本”元素中)。我遇到了一个奇怪的错误,当没有“主题”元素时,内容脚本只有 运行s。
我的内容-script.js只是-
console.log("content-script.js");
当我像这样格式化我的 manifest.json 文件而没有“主题”元素时它起作用了-
{
"manifest_version": 2,
"name": "Test",
"version": "1.0",
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content-script.js"]
}
]
}
但是当我添加一个空的主题元素时,我的内容脚本不会 运行-
{
"manifest_version": 2,
"name": "Test",
"version": "1.0",
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content-script.js"]
}
],
"theme": {}
}
有谁知道为什么会这样,我该如何解决?
你不能。在 Chrome 中,themes 和 extensions 是两个不同的东西。
主题 是一种特殊的扩展,它改变了浏览器的外观。主题像常规 扩展 一样打包,但它们不包含 JavaScript 或 HTML 代码。
这就是为什么当您在 manifest.json 中包含 “主题” 字段时,您的扩展不能 运行 任何内容脚本。
我建议您检查 Regular Extension Documentation and also the Theme Documentation 以了解它们之间的差异。
不过,对于 Firefox,有一个 theme API 可用。
我正在尝试制作一个 chrome 主题,该主题既具有风格特征(在清单“主题”元素中)又具有内容脚本(在“内容脚本”元素中)。我遇到了一个奇怪的错误,当没有“主题”元素时,内容脚本只有 运行s。
我的内容-script.js只是-
console.log("content-script.js");
当我像这样格式化我的 manifest.json 文件而没有“主题”元素时它起作用了-
{
"manifest_version": 2,
"name": "Test",
"version": "1.0",
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content-script.js"]
}
]
}
但是当我添加一个空的主题元素时,我的内容脚本不会 运行-
{
"manifest_version": 2,
"name": "Test",
"version": "1.0",
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content-script.js"]
}
],
"theme": {}
}
有谁知道为什么会这样,我该如何解决?
你不能。在 Chrome 中,themes 和 extensions 是两个不同的东西。
主题 是一种特殊的扩展,它改变了浏览器的外观。主题像常规 扩展 一样打包,但它们不包含 JavaScript 或 HTML 代码。
这就是为什么当您在 manifest.json 中包含 “主题” 字段时,您的扩展不能 运行 任何内容脚本。
我建议您检查 Regular Extension Documentation and also the Theme Documentation 以了解它们之间的差异。
不过,对于 Firefox,有一个 theme API 可用。