Chrome 扩展:Javascript 未加载

Chrome extension: Javascript not loading

本文关键字:加载 Javascript 扩展 Chrome      更新时间:2023-09-26

我有以下代码用于chrome扩展,根据堆栈溢出的另一个问题 contentscript.py:

清单.js

{
"name": "test script",
"version": "0.1",
"content_scripts": [{
    "js": ["contentscript.js"],
    "matches": ["http://*/*"]
}],
"manifest_version": 2,
"web_accessible_resources": ["script.js"]
}

内容脚本.js

var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);
s.onload = function() {
    s.parentNode.removeChild(s);
};

脚本.js

document.body.innerHTML = document.body.innerHTML.replace(new RegExp("this", "gi"), "that");

为了简单地替换一些文本。如果我将脚本上的相同表达式放在测试 html 文件上.js它可以工作,但在扩展中它看起来好像代码实际上是注入的。我一辈子都想不通为什么。清单和内容脚本似乎井井有条,所以我不知道在这里做什么。

尝试将"https://*/*"添加到manifest.json中的匹配项中。我建议你将第一行放在你的内容脚本中.js:

console.log('Content script loaded and started');

因此,您可以检查页面(F12,控制台选项卡)并查看内容脚本是否已注入。 这对您的调试有很大帮助。

我不知道您的脚本.js发生了什么,但值得考虑的是,onload 事件中的 removechild 可能会在您的任务完成之前发生。