这是Google Chrome扩展错误吗?

时间:2012-05-01 11:06:27

标签: google-chrome-extension

我想制作一个需要在网页上列出<script>标签的Google Chrome扩展程序。所以我创建了一个manifest.json,其脚本仅"run_at": "document_start"在该特定网页上。当我加载页面时,我注意到document.getElementsByTagName('script')的值是一个数组,其中包含正确的<script>元素,但它的长度为0,我无法访问这些元素。

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,但控制台显示它包含一个无法访问的元素。

enter image description here

1 个答案:

答案 0 :(得分:3)

来自documentation

  

对于“document_start”,文件是在来自css的任何文件之后注入的,但在构造任何其他DOM之前或运行任何其他脚本。

如果您需要访问DOM,请将run_at更改为document_end或将其保留为默认document_idle