IE6 读取属性值报错BUG
[2011-06-30 17:06:18 --@Javascript]
IE6读取某些对象的属性值也会报错:
判断对象是否有getElementsByTagName方法,避免报错
jQuery用 'getElementsByTagName' in oDem的方式 替代了oDem.getElementsByTagName
var aActiveX = ['MSXML6.DomDocument', 'MSXML3.DomDocument', 'MSXML2.DomDocument', 'MSXML.DomDocument', 'Microsoft.XmlDom'];
var oDOM;
if (navigator.appName == 'Microsoft Internet Explorer') {
for (var n = 0; n < aActiveX.length; n++) {
try {
oDOM = new ActiveXObject(aActiveX[n])
} catch(oException) {}
}
} else {
if (document.implementation && document.implementation.createDocument) {
oDOM = document.implementation.createDocument('', '', null)
}
}
var oDem = oDOM.createElement('dem');
alert('getElementsByTagName' in oDem);
try {
alert(oDem.getElementsByTagName)
} catch(e) {
alert(e)
}
var oDOM;
if (navigator.appName == 'Microsoft Internet Explorer') {
for (var n = 0; n < aActiveX.length; n++) {
try {
oDOM = new ActiveXObject(aActiveX[n])
} catch(oException) {}
}
} else {
if (document.implementation && document.implementation.createDocument) {
oDOM = document.implementation.createDocument('', '', null)
}
}
var oDem = oDOM.createElement('dem');
alert('getElementsByTagName' in oDem);
try {
alert(oDem.getElementsByTagName)
} catch(e) {
alert(e)
}
判断对象是否有getElementsByTagName方法,避免报错
jQuery用 'getElementsByTagName' in oDem的方式 替代了oDem.getElementsByTagName
本文禁止复制/转载!
共 1 评论
1. 2011-08-17 13:08:26,from Zaylin