如何在manifest.json Chrome扩展中同时使用主题和内容脚本



我正在尝试制作一个chrome主题,它既有风格特征(在manifest"主题"元素中(,也有内容脚本(在"内容脚本"元素中。我遇到了一个奇怪的错误,内容脚本只在没有";主题";要素

我的content-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中,主题扩展是两种不同的东西。

主题是一种特殊的扩展,可以改变浏览器的外观。主题像常规的扩展一样打包,但它们不包含JavaScript或HTML代码。

这就是为什么当您将"主题">字段,则扩展无法运行任何内容脚本。

我建议您查看常规扩展文档和主题文档,看看它们之间的差异。

不过,对于Firefox来说,有一个主题API可用。