來自:
http://www.qdfuns.com/notes/21128/db10afdde2abe5f0b72d5945358987e3.html
三個部分:html部分、css部分、js部分
1、html部分
(1)高版本的瀏覽器用了低版本的瀏覽器無法識別的元素,從而導致不能解析。主要體現在html5的新標籤上。
解決方法:htmlshim框架可以讓低於IE9的瀏覽器支持html5
(2)img的alt屬性,在圖片不存在的情況下,各瀏覽器的解析不一致。
在chrome下顯示的是一張破損的圖片,在ff下顯示的是alt的文字,而在IE中顯示的是破損的圖片加文字。
(3)ul標籤內外邊距問題
ul標籤在IE6\IE7中,有個默認的外邊距,但是在IE8以上及其他瀏覽器中有個默認的內邊距。
2、CSS部分
css的hack問題:主要針對IE的不同版本,不同的瀏覽器的寫法不同。
其他CSS兼容性問題見 http://www.qdfuns.com/notes/21128/db10afdde2abe5f0b72d5945358987e3.html
3、js部分
(1)標準的事件綁定方法函數爲addEventListener,但IE下是attachEvent;
(2)事件的捕獲方式不一致,標準瀏覽器是由外至內,而IE是由內到外,但是最後的結果是將IE的標準定爲標準;
(3)我們常說的事件處理時的event屬性,在標準瀏覽器其是傳入的,IE下由window.event獲取的。並且獲取目標元素的方法也不同,標準瀏覽器是event.target,而IE下是event.srcElement
(4)在低版本的IE中獲取的日期處理函數的值不是與1900的差值,但是在高版本的IE中和標準瀏覽器保持了一致,獲取的值也是與1900的差值。 比如:var year= new Date().getYear();
(5)ajax的實現方式不同,這個我所理解的是獲取XMLHttpRequest的不同,IE下是activeXObject
(6)IE中不能操作tr的innerHtml
(7)獲得DOM節點的父節點、子節點的方式不同
其他瀏覽器:parentNode parentNode.childNodes
IE:parentElement parentElement.children