获取<script>元素</script>的内容

时间:2014-07-11 07:51:12

标签: javascript firefox firefox-addon xul

我尝试过使用innerHTML但它返回null。 这是我的代码:

var sumScripts = gBrowser.contentDocument.getElementsByTagName("script");
  for (i = 0; i < sumScripts.length; i++) { 
    var content = sumScripts[i].innerHTML;
    alert(content);

所以我试图在网页上获取所有脚本并打印它们,但每次都打印为null。有谁知道什么是错的?顺便说一下,这是XUL JavaScript。

编辑:傻我。我修复了迭代器错字(将0更改为i),谢谢。它现在有效。

1 个答案:

答案 0 :(得分:1)

在FF addon priveleaged范围内,您可以使用它。

您可以访问Document.scripts。在MDN上阅读它:

https://developer.mozilla.org/en-US/docs/Web/API/Document

但这也适用于非priveagled。只需window.document.scripts和itterate。

var scripts = gBrowser.contentWindow.document.scripts;
for (var i=0; i<scripts.length; i++) {
  console.log(i, scripts[i].src, scripts[i].innerHTML)
}

请记住,一些脚本元素设置了src=blah,因此它们不会有innerHTML。你必须通过实时获取(xmlhttprequest等)或缓存值来获得它。