【发布时间】:2015-11-24 05:06:48
【问题描述】:
如何查看浏览器是否支持getAttributeNode、setAttributeNode和createAttribute函数?
我需要通过 JavaScript 检测没有导航器用户代理的 IE6 和 IE5.5 之间的限制(使用 IEtester 或 IE 控制台模拟器)。
为什么?检查 Modernizr 浏览器支持
谢谢!
感谢奥里奥尔!但更具体地说,我需要这样的东西:
var support = true;
if(typeof(document.getElementsByClassName) === 'undefined'){
support = false;
}
if(support){
// IE > 8
}else{
// IE <= 8
}
但不是 IE 8,而是 IE 5.5。 使用 getAttributeNode、setAttributeNode 和 createAttribute 代替 document.getElementsByClassName
找到了!!!使用来自http://diveintohtml5.info/detect.html的Oriol答案和视频检测方法
function supports() {
var Element = document.createElement('div'),
Q1 = !!Element.getAttributeNode,
Q2 = !!Element.setAttributeNode,
Q3 = !!document.createAttribute;
return Q1 && Q2 && Q3;
}
if(supports()){
// IE > 5.5
}else{
// IE <= 5.5
}
【问题讨论】:
-
你可以使用
if(myElement.getAttributeNode && myElement.setAttributeNode && myElement.createAttribute){do something}
标签: javascript internet-explorer-6 modernizr jscript