部分属性及方法的浏览器兼容问题

1、兼容问题

  属性|方法 IE Chrome

360兼容模式

(版本号13.1.1572.0|内核版本86.0.4240.198)

解决方法
1 window.showModalDialog() 支持 不支持 支持  
2

ajax请求:

所有现代浏览器(Chrom、IE7+、Firefox、Safari 以及 Opera)都有内建的 XMLHttpRequest 对象。

老版本的 Internet Explorer(IE5 和 IE6)使用 ActiveX 对象

new XMLHttpRequest()

或者new ActiveXObject("Microsoft.XMLHTTP")
new XMLHttpRequest()
 

new XMLHttpRequest()

或者new ActiveXObject("Microsoft.XMLHTTP")
if (window.XMLHttpRequest) {
    //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
    xmlhttp = new XMLHttpRequest();
} else {
    // IE6, IE5 浏览器执行代码
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}

 绑定事件:

window.attachEvent()
window.addEventListener()
 
IE5~IE10:window.attachEvent()
IE9~IE11:window.addEventListener()
 window.addEventListener()  
window.addEventListener()
 
if (window.attachEvent) {
    window.attachEvent("onload", foo);
} else if (window.addEventListener) {
    window.addEventListener("load", foo, false);
}
function foo() {
    console.log("ok");
}
filter:alpha(opacity=5);

旧版 Internet Explorer 浏览器(4.0 to 8.0) 支持的非标准 "filter" 属性已被废弃。 IE8 及更低版本浏览器通常使用 opacity 属性。 

IE5~IE9:支持

IE10+:不支持 

 不支持    不支持  改用opacity属性
 5

所有主流浏览器均支持 getAttribute() 方法。

所有主要浏览器都支持 toLowerCase() 方法

getField、getElementField是封装的方法??

       
 6

nodeObj.removeNode():删除元素但不包括文本节点

nodeObj.removeNode(true):删除元素所有子节点

 支持  不支持  支持

removeNode只能在IE下用。为了在ie和firefox下都能正常使用,先取上一层的父结点,然后removeChild 或者直接用jQuery的remove

改用:parent.removeChild(thisNode)

所有主流浏览器均支持 removeChild() 方法。

 

1)绑定事件:低版本IE:window.attachEvent(),高版本IE和Chrome:window.addEventListener()

2)在Chrome中字体不能小于10px,解决方案:p{font-size: 12px; transform: scale(0.8);}

3)IE9以下浏览器不能使用opacity,解决方案:opacity: 0.5;filter: alpha(opacity = 50);filter: progid:DXImageTransform.Microsoft.Alpha(style = 0, opacity = 50);

4)flex 布局想要支持ie 9低版本,同时使用,外布局flex,内布局float,display: flex;float: left;

 

posted @ 2021-09-06 23:13  wenxuehai  阅读(161)  评论(0编辑  收藏  举报
//右下角添加目录