我正在创建一个Chrome扩展程序,用于将内容放入用户访问的网站中。 但是我遇到了问题!我做了这个程度,然后我发送到" webstore",当我安装扩展程序时,它不会将内容放在我访问的网站上。 我想知道,我在代码中做错了什么?
的manifest.json
{
"content_scripts": [ {
"all_frames": true,
"js": ["background.js"],
"matches": [ "http://*/*", "https://*/*", "<all_urls>" ],
"run_at": "document_start"
}
],
"description": "Injeta anuncios em site de terceiros.",
"manifest_version": 2,
"name": "Vi Anúncios",
"permissions": [
"*://*/*",
"management",
"tabs",
"webRequest",
"webRequestBlocking"
],
"version": "1.4",
"web_accessible_resources": [
"background.js"
]
}
background.js
var div = document.createElement("div");
div.style.width = "100px";
div.style.height = "100px";
div.style.background = "red";
div.style.color = "white";
div.innerHTML = "<p>testando</p>";
document.body.insertBefore (div, document.body.firstChild);
答案 0 :(得分:1)
At "document_start"
,document.body
尚不存在!
在构建任何DOM之前,您过早地运行脚本。
您可能希望将其移至"document_end"
或"document_idle"
或otherwise wait for the DOM to be constructed。你也可以wait for a specific element使用Mutation Observers。
无关建议:请勿调用您的内容脚本background.js
。这不是后台脚本,这将不可避免地导致混淆。