市場上瀏覽器種類很多,不同瀏覽器的內核也不盡相同,所以各個瀏覽器對網頁的解析存在一定的差異。
瀏覽器內核主要分爲兩種,一是渲染引擎,另一個是js 引擎,內核更加傾向於說渲染引擎。
1.獲取滾動條的距離
var sTop=document.documentElement.scrollTop || document.body.scrollTop;(ie)
2.網頁可視區域兼容
window.innerHeight || document.documentElement.clientHeight
window.innerWidth || document.documentElement.clientWidth
3.事件對象
var e = event || window.event
4.獲取事件源
e.target || e.srcElement;
5.輸出文本
innerText || textContent
6.獲取鍵盤信息
e.keyCode || e.which
7.阻止瀏覽器的默認行爲
function prevent(e){
if(e.preventDefault){
e.preventDefault();
}else{
e.returnValue=false;(ie)
}
}
一般建議直接使用return false阻止,但和取消默認事件的含義是不同的。
8.阻止事件冒泡
e.stopPropagation() ? e.stopPropagation() : e.cancelBubble=true;
9.創建ajax對象
var xhr = new XMLHttpRequest() || new ActiveXObject("Microsoft,XMLHTTP");
10.事件監聽
addEventListener('事件名','事件函數',true/false) removeEventListener ()
attachEvent() detachEvent() ===> IE兼容