[英]Why would this code work in IE and fail in Firefox and Chrome?
因此,在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')
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.