0

在 chrome 扩展上,我试图在所有网站上添加一个 iframe,

目前我的manifesjt.json

    {
  "name": "Testinjection",
  "version": "1.0.0",
  "manifest_version": 2,
  "description": "Testinjection",
  "icons": {
    "48" : "sample-48.png",
    "128" : "sample-128.png"
  },
  "content_scripts": [
    {
      "matches": [ "http://*/*", "https://*/*" ],
      "js" : ["contentscript.js"]
    }
  ]
}

和 contentscript.js:

document.write("<iframe src=\"http:\/\/www.ask.com\" width=\"100%\" height=\"40px\"><\/iframe>");

问题是这段代码正在替换当前访问的页面,而不是将此代码添加到顶部,

我可以通过什么方式做到这一点?

4

1 回答 1

1

在页面加载后使用document.write将覆盖页面。您应该改为构造一个元素:

var iframe = document.createElement('iframe');
iframe.src = 'http://www.ask.com/';
iframe.width = '100%';
iframe.height = '40px';
iframe.style.position = 'absolute';  // Add this

document.body.insertBefore(iframe, document.body.firstChild);

演示:http: //jsfiddle.net/XrqvG/

于 2012-10-20T19:05:56.993 回答