瀏覽器兼容性問題整理

來自:
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章