17

わかりました、JavaScript/jQuery わかりました。それを使用して、一般的にやりたいことを行うことができます。しかし、私が現在やろうとしているのは、開いている/現在のタブの DOM を操作することです。それが可能かどうか、または「背景. html」または同等のもの。

Google拡張機能でストライキを試みる今日の試みでは、ページに画像を取り、それらを配列に保存して、バーを介してスライドショーのような効果を作成し、ページの下部に追加したいと考えています。開いている/現在のタブの既存の DOM。次に、バーが閉じられるまでDOMの要素を「隠す」必要があります。

したがって、私の最初の質問は、このようなことが可能かどうか、そのような方法で DOM を操作して読み取ることができるかということです。

4

1 に答える 1

34

コンテンツ スクリプトは、ページと Chrome 拡張機能の間の環境で実行されるスクリプトです。これらのスクリプトはページが読み込まれるたびに読み込まれ、ページの DOMに完全にアクセスできます。などの DOM メソッドdocument.getElementById()は、ページの一部であるかのように動作します。

グローバルwindowオブジェクト (framesとを含む) は、コンテンツ スクリプトで直接読み取ることHTMLIFrameElement.contentWindowができない唯一のオブジェクトです。

コンテンツ スクリプトは、マニフェスト ファイルで定義されているように、すべてのページで実行されます。セクションで一致パターンを指定して"content_scripts"、コンテンツ スクリプトを実行する必要があるページを定義します。また、このパターンを"permissions"セクションに追加して、ページの DOM を変更する機能をロック解除します。

:これらのスクリプトで使用できるAPIはごく一部です(chrome.*バックグラウンド ページchrome.extension.sendRequestとの通信など)。


バックグラウンド ページでは、ページの DOM に直接アクセスできません。を使用して任意のタブにスクリプトを挿入できますが、要素への直接参照をchrome.extension.executeScript取得することはできません。この目的のために、コンテンツ スクリプトが必要です。

于 2012-04-08T20:51:46.863 に答える