gpt4 book ai didi

javascript - 为什么这段代码可以在 IE 中运行,而在 Firefox 和 Chrome 中运行失败?

转载 作者:行者123 更新时间:2023-11-30 13:36:06 28 4
gpt4 key购买 nike

因此,在 Firefox 和 Chrome 中加载我们的新 Web 应用程序时,我收到一条警告,巧妙地告诉我找不到 tabStrip。通过代码,我发现了这个函数:

function initializeTabStrip() {
var tblList = document.getElementsByTagName("table");
var tabStrip = null;
for (var i = 0; i < tblList.length; ++i) {
if (typeof (tblList[i].tabStripRoot) != "undefined") {
tabStrip = tblList[i];
break;
}
}
if (tabStrip) {
window.tabStrip = new TabStrip(tabStrip);
}
else {
alert("couldn't find tabstrip");
}
}

在 Firefox 和 Chrome 中,typeof (tblList[i].tabStripRoot) 都是未定义的,而在 Internet Explorer 中,同一段代码会找到一个项目,并正确执行。

我曾尝试使用 Firebug 和 IE 的开发人员工具栏脚本调试工具来跟进并尝试发现“tabStripRoot”是什么,但我没有任何运气。

你们中的任何一位 JavaScript 大师都可以给我一些指导,说明为什么三分之一的浏览器可以正常工作吗?

感谢您的帮助。

最佳答案

您依赖于 IE 的非标准能力来访问任意属性作为 DOM 元素的属性。

在符合标准的浏览器中,您不能编写 someElement.tabStripRoot 来访问 tabStripRoot 属性。

将其更改为 tblList[i].getAttribute('tabStripRoot')

关于javascript - 为什么这段代码可以在 IE 中运行,而在 Firefox 和 Chrome 中运行失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4796566/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com