gpt4 book ai didi

javascript - 使用 getElementsByTagName 获取脚本标签跨浏览器不一致

转载 作者:行者123 更新时间:2023-11-30 17:54:12 25 4
gpt4 key购买 nike

我有以下代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
var script_obj = document.getElementsByTagName('script')
alert(typeof script_obj);
});
</script>

当我在 Firefox (v21) 和 Chrome (v29) 中运行它时,我得到了 object 作为结果,但在 Safari (v5) 中,我得到了 function

这是为什么?!

在脚本的其余部分中,我遍历 script_obj 以获取 .src 数据,但是我的 count 函数确定haystack 的长度(即 script_obj)有一个检查,如果 haystack 不是 则返回 false >arrayobject,因此它在 Safari 中失败。除了使用 document.getElementsByTagName('script') 之外,还有其他方法吗?!

最佳答案

document.getElementsByTagName() 返回 NodeList .尽管 NodeList 不是数组,但它确实具有与数组一样的长度属性。所以你不需要做任何特别的事情来计算其中的项目数量。不确定你的计数函数在做什么,但你可以这样做:

> var script_obj = document.getElementsByTagName('script');
> alert(script_obj.length); // will alert '22' or whatever

关于javascript - 使用 getElementsByTagName 获取脚本标签跨浏览器不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18405790/

25 4 0