创建在页面上注入脚本的扩展chrome内容
Creating extension chrome content which injects script on the page
我正在创建一个chrome扩展,它将内容放入用户访问的网站中。但我有个问题!我做了扩展,并将其发送到"网店",当我安装扩展时,它不会将内容放在我访问的网站上。我想知道,我在代码中做错了什么?
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);
在"document_start"
,document.body
还不存在
在构造任何DOM之前,您过早地运行了脚本。
您可能希望将其移动到"document_end"
或"document_idle"
,或者等待DOM的构建。你也可以用突变观察者来等待一个特定的元素。
无关的建议:不要将您的内容脚本称为background.js
。这是而不是背景脚本,这将不可避免地导致混乱。
相关文章:
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 从选项页面更新chrome扩展清单权限
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- Chrome扩展:遍历不同的页面并收集数据
- Chrome扩展 chrome.storage 如何同时进行大量获取和设置并避免竞争条件
- Chrome扩展:Chrome.tabs.executeScript不工作
- 中的访问扩展chrome://extensions页
- 如何在扩展Chrome DevTool时检索请求的启动器
- Chrome扩展-Chrome报警API为创建的每个新报警重新安排所有报警
- 是否有任何方法来扩展chrome's __commandLineAPI
- 谷歌Chrome扩展Chrome .tab . onupdate . addlistener
- 创建在页面上注入脚本的扩展chrome内容
- Chrome扩展:Chrome扩展中未定义的变量,即使它存在于控制台中