1

私はChrome拡張機能の開発者ですが、拡張機能に問題があります。要素を作成するとき

child = document.createElement('div');

そして、この要素をページ本体に追加します。

window.document.body.appendChild(child);

複数のiFrameを含むページの場合、この子はページ内のすべてのiFrameに表示されます。

この要素をすべてのiframeではなく、メインウィンドウにのみ表示するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

マニフェストとチェックで「all_frames」の値をfalseにできますか(つまり、トップフレームのみが一致することを意味します)。

"content_scripts": [
    {
      .....
      "all_frames":false
      .....
    }
  ],

参照:

コンテンツ スクリプトのマニフェスト

編集1:

コンテンツ スクリプト コードを 2 つの部分に分割します。

"content_scripts": [
    {
      "matches": [".."],
      "all_frames":true,
      "js": ["myscript_iframes.js"]
    },
    {
      "matches": [".."],
      "all_frames":false,
      "js": ["myscript_noIframes.js"]
    }
  ],

myscript_iframes.jsすべてのフレームからコンテンツを読み取るコードと、myscript_noIframes.js子をメイン フレームに追加するコードがあります。

于 2012-12-31T01:02:24.583 に答える