0

Chrome拡張機能で、すべてのWebサイトに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 に答える