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

Creating extension chrome content which injects script on the page

本文关键字:扩展 chrome 内容 脚本 注入 创建      更新时间:2023-09-26

我正在创建一个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。这是而不是背景脚本,这将不可避免地导致混乱。