IE6、IE7、IE8瀏覽器下的CSS、JS兼容性對比
發(fā)布時間:2011-01-18 20:01:45 作者:佚名
我要評論

Internet Explorer 6中查看使用 Microsoft JScript 的網(wǎng)頁,可能會遇到web瀏覽器速度較慢的性能問題。
原因是如果js腳本同時創(chuàng)建大量變量,jscript引擎執(zhí)行垃圾收集算法時會監(jiān)視腳本中變量分配的數(shù)量、腳本中使用的文字值的數(shù)量和腳本中分配的字符串值的總大小,如果超過這些值的閾值,就會發(fā)生垃圾收集,垃圾收集進程會中斷正在運行的腳本。因此,這些運行中的腳本將被掛起,直至垃圾收集完成為止。
IE6 、 IE7 、 IE8 在 CSS 和 JS 方面的區(qū)別 :
1、IE8中的css中關(guān)于width或是height中如果使用像素形式作為參數(shù)時,參數(shù)必須是帶“px”的,而且此參數(shù)必須是大于0的,而在IE6和IE7中是支持不帶“px”參數(shù)的,而且參數(shù)是可以為一個負(fù)數(shù)。
2、如:style=height:180px\\0;只有IE8能識別,style=height:180px\\9,IE都能識別。
2、IE8中的css中“border-style:outset ;”是沒有效果的。
3、IE8中的無序列表之間的距離要比IE6和IE7大的多。
4、IE6能識別*,但不能識別!important,IE7能識別*也能識別!important。
5、IE6支持下劃線,IE7不支持下劃線。
6、在IE8中,一個Iframe中取event.x的值不是Iframe中的相對x坐標(biāo),而是最外層的window的x坐標(biāo),但是event.y卻是取的是 Iframe中的相對y坐標(biāo)。而在IE6和IE7中,event.x和event.y卻得的都是所在Iframe中的相對坐標(biāo),可以用 event.clinetX代替。
7、IE8中的javascript中的function對象例如:
function a(){alert(“helloworld”);}
var fun = new function(‘’,’helloworld’);
alert(fun);
此時返回的值為function anonymous(){function a(){alert(“helloworld”)}}, 而在IE6和IE7中返回的值為function anonymous(){alert("helloworld")},也就是說當(dāng)Function的第二個參數(shù)如果是一個函數(shù)時,IE8對此參數(shù)作用的是整個函數(shù)的代碼,而IE6和IE7則是對此參數(shù)起作用的是函數(shù)的內(nèi)部代碼(不包括 “function a(){”和“}”的函數(shù)頭和尾)。
8、在ie6中,使用window.status =" 歡迎光臨我的博客?。?!",就能在狀態(tài)欄顯示這么一行字,但在IE7中,IE7的安全性設(shè)置中,默認(rèn)是不允許腳本更新狀態(tài)欄的.
9、IE8會把對 IE6,7,8 用 css 進行測試:
測試代碼:樣式代碼: p {color:#f00;} xhtml 代碼:
文字
IE6
|
IE7
|
IE8
|
備注
|
|
p{_color:red}
|
√
|
×
|
×
|
IE6 專用
|
*html p{color:#red;}
|
√
|
×
|
×
|
IE6 專用
|
p{+color:red}
|
√
|
√
|
×
|
IE6,7 專用
|
p{*color:red}
|
√
|
√
|
×
|
IE6,7 專用
|
*html p{color:red;}
|
√
|
√
|
×
|
IE6,7 專用
|
p{*+color: red}
|
×
|
√
|
×
|
IE7 專用
|
Body> p{ color: red }
|
×
|
√
|
√
|
屏蔽 IE6
|
/*\\*//*/p{+color:red}/**/
|
×
|
×
|
√
|
IE8 專用
|
p{/*/*/color;/**/}
|
√
|
√
|
×
|
屏蔽 IE8
|
p{color:red!important}
p{color:red}
|
√
|
√
|
√
|
都能用
|
html>/**/body .head{color:#red;}
|
×
|
×
|
√
|
只對 IE8
|
對于 IE8 對 js 新增的功能 :
1、 IE8開始支持一些新的W3C規(guī)格,其中多了querySelector和querySelectorAll兩個函數(shù)
2、 IE8 引入XDomainRequest跨站數(shù)據(jù)獲取功能。 這是一個非常有趣的進行跨站數(shù)據(jù)獲取的功能,不過它與Firefox 3中的跨站 XMLHttpRequest的工作原理不太一樣。它的跨域并不是無限制的。需要服務(wù)端返回http header中帶有XDomainRequestAllowed=1才可以跨域,否則是不成功的。XMLRequest 不能跨站一直都是多子域服務(wù)器的硬傷。使得很多情況不得不考慮最原始的動態(tài)script和JSON的方式。不過IE8團隊有意解決跨站訪問數(shù)據(jù)的問題,這是IE8的一個進步。另外,IE8下的XMLHttpRequest增加了一個很重要的屬性 timeout和ontimeout方法,它在對程序進行優(yōu)化時極其重要。
3、 getElementById可以通過id來返回對象。getAttribute("checked") 現(xiàn)在返回“checked”而不是true。動態(tài)創(chuàng)建(或修改)的單選按鈕現(xiàn)在可以被選擇了。
支持更多對HTML5的功能:
1、 window.location.hash。這個功能已經(jīng)被多數(shù)瀏覽器支持的非常好。在IE8標(biāo)準(zhǔn)模式中將window.location.hash中的更改作為導(dǎo)航,并保存先前文檔的URL,可以像在Ajax應(yīng)用中模仿“后退”按鈕效果。IE8中對它進行了改良,可以廣播這個hashchanged時間。
2、 DOM存儲。通過這個功能,數(shù)據(jù)可以持續(xù)保存在本地,它將取代原始的cookie存DOM存儲。
3、 postMessage。IE8現(xiàn)在支持跨文件消息通訊(Cross-Document Messaging-XDM)!通過onmessage事件和postMessage方法,兩個來自不同域的網(wǎng)頁可以進行通訊。目前IE8、Opera 9、Firefox 3和WebKit nightlies版均支持這個功能,也就是說,該功能幾乎已被所有最新瀏覽器支持。
4、 Offline Events。在IE 8中擁有一些離線事件來檢測網(wǎng)絡(luò)的中斷,通過它我們可以編寫精彩的離線Ajax應(yīng)用。目前來看支持這一功能的瀏覽器包括Firefox3和IE8。
用firefox或者chrome一登陸最小系統(tǒng)就報480分鐘超時錯誤
IE6 Bugs
1 、不支持用樣式設(shè)置 <abbr> 元素
2 、不支持以連字符和下劃線開頭的 class 和 ID 名
3 、 <select> 元素總是出現(xiàn)在堆疊最上面,而無視 z-index 值
4 、如果錨點的偽類沒有使用正確的順序 ( :link , :visited , :hover ) ,:hover 偽類將無效
5 、一個屬性的 !important 聲明會被同一規(guī)則中同一屬性的沒有使用 !important 的第二個聲明覆蓋。
6、 height 表現(xiàn)類似于 min-height , width 表現(xiàn)類似于 min-width ,左右 margin 雙倍
7、 圓點邊框 (dotted) 看起來像虛線邊框 (dashed)
8、 text-decoration 的 line-through 值在文字上看起來比別的瀏覽器要高一些
9 、有序列表如果有一個固定結(jié)構(gòu) (haslayout 為 true ,不能設(shè)置 li 的高度 / 寬度 /zoom 等激活 haslayout 的值 ) ,序號就不會增加,而是保持為 1
10、 列表元素不支持 list-style-type 的所有可用的值
11、 如果列表條目浮動,指定的 list-style-image 將不會顯示
12、 不完全支持 @font-face
13、 某些選擇器會錯誤的匹配注釋和文檔聲明
14、 如果一個 ID 選擇器結(jié)合一個類選擇器不匹配,同樣的 ID 選擇器結(jié)合不同的類選擇器也將被當(dāng)作不匹配。
IE7 bugs
1 、 有序列表如果有一個固定結(jié)構(gòu) (haslayout 為 true ,不能設(shè)置 li 的高度 / 寬度 /zoom 等激活 haslayout 的值 ) ,序號就不會增加,而是保持為 1
2、 列表元素不支持 list-style-type 的所有可用的值
3 、如果列表條目浮動,指定的 list-style-image 將不會顯示
4 、不完全支持 @font-face
5 、某些選擇器會錯誤的匹配注釋和文檔聲明
作者:hoojo
出處: http://www.cnblogs.com/hoojo/archive/2011/01/13/1934373.html
作者:hoojo
出處: http://www.cnblogs.com/hoojo/archive/2011/01/13/1934373.html
相關(guān)文章
- 這篇文章主要介紹了淺談原生頁面兼容IE9問題的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起2020-12-16
新版chrome瀏覽器設(shè)置允許跨域的實現(xiàn)
這篇文章主要介紹了新版chrome瀏覽器設(shè)置允許跨域的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起2020-11-30css hack之\9和\0就可能對hack IE11\IE9\IE8無效
每次設(shè)計一張網(wǎng)頁或一個表單,都被各種瀏覽器的兼容問題傷透腦筋,尤其是IE家族。在做兼容性設(shè)計時,我們往往會使用各種瀏覽器能識別的獨特語法進行hack,從而達(dá)到各種瀏覽2020-03-20css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼
這篇文章主要介紹了css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼,需要的朋友可以參考下2020-03-20- 這篇文章主要介紹了解決CSS瀏覽器兼容性問題的4種方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)2020-02-28
- 這篇文章主要介紹了常見的瀏覽器兼容性問題(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)2020-02-20
- 這篇文章主要介紹了border-radius IE8兼容處理的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)2020-02-12
- 這篇文章主要介紹了淺談遇到的幾個瀏覽器兼容性問題,詳細(xì)的介紹了幾種我遇到的問題和解決方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-26
- 這篇文章主要介紹了base64圖片在各種瀏覽器的兼容性處理的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-14
- 這篇文章主要介紹了對常見的css屬性進行瀏覽器兼容性總結(jié)(推薦)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-20