2011-11-17 6 views
7

クロムエクステンションにウェブサイトを読み込むiFrameがありますが、CSSとJavascriptをウェブサイトに挿入したいのですが、 extensions iframe(ユーザーがサイトを通常閲覧するときに影響を受けることはありません)。クロムエクステンションにロードされたiframeにCSSとJavascriptを挿入するにはどうすればいいですか?

クロスドメインXHRリクエストを行うことはできますが、iframeの内部にアクセスしようとするとChrome拡張機能にクロスドメインセキュリティポリシーが適用されていることに驚きました。

これを行う簡単な方法はありますか?私はexecuteScriptを使ってそれを行うことができるかもしれませんが、タブIDが必要です。

答えて

2

あなたがifrmaeにいるかどうかを知る唯一の方法はwindowで、topではありません。

if (window == top) { 
    // Not in iframe 
} 
else { 
    // In an iframe 
} 

スタイルシートではなく、コンテンツスクリプトに対してのみ行うことができます。私が通常やっているのはコンテンツスクリプト内です。トップウィンドウにないかどうかを確認してからスクリプトを続行します。それ以外の場合は終了します。

要約

  1. あなたはについてあまり心配している場合はJavaScriptでCSSを作成し、そのURLのコンテンツスクリプトで
  2. をコンテンツスクリプトを注入し、ウィンドウプロパティをかどうかを確認、if (window != top) { loadContentScript() }
  3. それは影響を与える。ユニークなIDを使用する場合は、そうしないでください。

私のいくつかの拡張のために助けてくれることを願っています。

関連する問題