根据stackoverflow上的另一个问题,我有以下用于chrome扩展的代码,即contentscript.py:
manifest.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");
为了简单地替换一些文本。如果我将与 script.js 上的相同表达式放在测试 html 文件上,它可以工作,但它在扩展名中看起来并没有实际注入代码。我终其一生都无法弄清楚为什么。manifest 和 contentscript 似乎是有序的,所以我不知道在这里做什么。