JavaScript-测试浏览器是否支持getAttributeNode、setAttributeNode和createAttribute
如何检查浏览器是否支持getAttributeNode、setAttributeNode和createAttribute函数 我需要在没有Navigator用户代理的情况下(使用IEtester或IE控制台仿真器),通过JavaScript检测IE6和IE5.5之间的限制 为什么??检查Modernizer浏览器支持 谢谢JavaScript-测试浏览器是否支持getAttributeNode、setAttributeNode和createAttribute,javascript,internet-explorer-6,modernizr,jscript,Javascript,Internet Explorer 6,Modernizr,Jscript,如何检查浏览器是否支持getAttributeNode、setAttributeNode和createAttribute函数 我需要在没有Navigator用户代理的情况下(使用IEtester或IE控制台仿真器),通过JavaScript检测IE6和IE5.5之间的限制 为什么??检查Modernizer浏览器支持 谢谢 谢谢奥利奥!但更具体地说,我需要这样的东西: var support = true; if(typeof(document.getElementsByClassName)
谢谢奥利奥!但更具体地说,我需要这样的东西:
var support = true;
if(typeof(document.getElementsByClassName) === 'undefined'){
support = false;
}
if(support){
// IE > 8
}else{
// IE <= 8
}
var支持=true;
if(typeof(document.getElementsByClassName)=‘未定义’){
支持=错误;
}
如果(支持){
//IE>8
}否则{
//IE 5.5
}否则{
//IE您可以使用
中的操作符检查对象是否具有某些属性:
'getAttributeNode' in myElement
&& 'setAttributeNode' in myElement
&& 'createAttribute' in document
myElement
应该是对某些元素的引用,例如document.documentElement
正确的方法是签入元素.prototype
和文档.prototype
,但旧IE不会公开它们。因此,您应该在某些情况下进行检查,并假设它也适用于其他情况
注意上面的代码只测试属性的存在性。如果您想更安全,还可以使用typeof
检查它们是否是函数。您可以使用If(myElement.getAttributeNode&&myElement.setAttributeNode&&myElement.createAttribute){do something}
并且没有DOM元素?像document.getElementsByClassName?@lucasgabmorenogetAttributeNode
和setAttributeNode
仅在element
实例中可用,而在document
one中不可用。函数支持(){var element=document.createElement('div')),Q1=!!Element.getAttributeNode,Q2=!!Element.setAttributeNode,Q3=!!document.createAttribute;返回Q1&&Q2&&Q3;}if(supports()){//IE>5.5}else{//IE
'getAttributeNode' in myElement
&& 'setAttributeNode' in myElement
&& 'createAttribute' in document