兼容问题大汇总

1.事件监听的兼容
IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和 removeEventListener() 方法。
但是,对于这类浏览器版本可以使用 detachEvent() 方法来移除事件句柄:
element.attachEvent(event, function);
element.detachEvent(event, function);

跨浏览器解决办法:
var x = document.getElementById("myBtn");
if (x.addEventListener) { // 所有主流浏览器,除了 IE 8 及更早版本
x.addEventListener("click", myFunction);
} else if (x.attachEvent) { // IE 8 及更早版本
x.attachEvent("onclick", myFunction);
}

2.确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)。
var w=window.innerWidth
document.documentElement.clientWidth
document.body.clientWidth;

var h=window.innerHeight
document.documentElement.clientHeight
document.body.clientHeight;

对于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:
window.innerHeight - 浏览器窗口的内部高度
window.innerWidth - 浏览器窗口的内部宽度
对于 Internet Explorer 8、7、6、5:
document.documentElement.clientHeight
document.documentElement.clientWidth
或者
document.body.clientHeight
document.body.clientWidth

3.创建 XMLHttpRequest 对象:
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

4.Chrome 字体小于12px
CSS3属性:-webkit-transform:scale()
<a href="http://www.cnblogs.com/jiangxiaobo/p/5669976.html">详细</a>

posted @ 2016-11-07 19:20  Mdreame  阅读(193)  评论(0编辑  收藏  举报