创建扩展chrome内容,在页面上注入脚本

时间:2015-06-24 16:50:01

标签: javascript google-chrome google-chrome-extension

我正在创建一个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);

1 个答案:

答案 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。这不是后台脚本,这将不可避免地导致混淆。