2012-05-01 16 views
0

ウェブページに<script>タグをリストする必要があるGoogle Chrome拡張機能を作りたかったのです。そこで私はmanifest.jsonを、その特定のWebページ上の"run_at": "document_start"というスクリプトで作成しました。私がページを読み込んだとき、document.getElementsByTagName('script')の値は適切な<script>要素を持つ配列の値であることがわかりましたが、その長さは0であり、要素にアクセスできませんでした。これはGoogle Chrome拡張機能のバグですか?

var scripts = document.getElementsByTagName('script'); 
console.log(scripts.length); // 0 
console.log(scripts); // [<script type=​"text/​javascript">​...</script>​] with expected JavaScript in it 

何か間違いがあります。 scripts変数の長さは0ですが、コンソールにアクセスできない要素が含まれていることがコンソールに表示されます。 documentationから

enter image description here

答えて

3

「document_start」の場合

、ファイルをCSSから任意のファイルの後に注入されているが、他のDOM前または任意の他のスクリプトを構築します実行されます。

あなたがDOMにアクセスする必要がある場合は、document_endrun_atを変更するか、デフォルトdocument_idleのままにしておきます。

関連する問題