Internet Explorer 11:不要再叫我IE
上周,Internet Explorer 11搭載Windows 8.1預(yù)覽版而來(lái),相信很多瀏覽迷也已經(jīng)在使用中。Internet Explorer 11 Preview 改進(jìn)了與 Web 標(biāo)準(zhǔn)、其他瀏覽器和實(shí)際網(wǎng)站的兼容性。 更新了對(duì)常用 Web 標(biāo)準(zhǔn)的支持并添加了可防止較早版本的網(wǎng)站錯(cuò)誤顯示的更改。
在這些所有的改進(jìn)中最明顯的一個(gè)改進(jìn)就是 User-agent 字符串的更改。此項(xiàng)更改的最大目的就是針對(duì)一些舊的網(wǎng)站,通過新的User-agent 字符串來(lái)實(shí)現(xiàn)不再跳轉(zhuǎn)到專為IE8、IE7、IE6等舊版本準(zhǔn)備的頁(yè)面中。
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
IE10瀏覽器的User-agent
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko
IE11瀏覽器的User-agent
如果將新的 user-agent 字符串與較早版本的 Internet Explorer 報(bào)告的字符串進(jìn)行比較,你會(huì)發(fā)現(xiàn)以下更改:
- 兼容 (“兼容”) 和瀏覽器 (“MSIE”) 令牌已刪除。
- “l(fā)ike Gecko” 令牌已添加(以便與其他瀏覽器一致)。
- 瀏覽器版本現(xiàn)在由新版本 (“rv”) 令牌報(bào)告。
此外,Internet Explorer 11還對(duì)一些舊的 API 進(jìn)行了添加、更改和刪除,此舉是因?yàn)樵S多網(wǎng)站查找支持舊 (HTML4) 功能的瀏覽器,目的是提供針對(duì)早期瀏覽器優(yōu)化的體驗(yàn)。 這就意味著一旦網(wǎng)站在搜索現(xiàn)行標(biāo)準(zhǔn)支持之前檢測(cè)到舊功能,服務(wù)器則會(huì)相應(yīng)的返回老版的的兼容性頁(yè)面,因此對(duì)IE11來(lái)說就無(wú)法展現(xiàn)對(duì)現(xiàn)行標(biāo)準(zhǔn)(如 HTML5、CSS3 等)的良好支持。
因此,IE11 Preview 添加、更改、刪除了許多默認(rèn)的舊功能:
- navigator.appName?屬性現(xiàn)在會(huì)返回 “Netscape” 以反映 HTML5 標(biāo)準(zhǔn)和匹配其他瀏覽器的行為。
- navigator.product?屬性現(xiàn)在會(huì)返回 “Gecko” 以便反映 HTML5 標(biāo)準(zhǔn)和匹配其他瀏覽器的行為。
- XDomainRequest?對(duì)象被 XMLHttpRequest 的 ORS 替換。
- 已添加對(duì) __proto__ 的支持。
- 已添加?dataset?屬性。
另外,為了支持現(xiàn)行標(biāo)準(zhǔn)指定的功能,已刪除若干舊 API 功能:
| 刪除 API 功能 | 替代功能 |
| attachEvent | addEventListener |
| window.execScript | eval |
| window.doScroll | window.scrollLeft、window.scrollTop |
| document.all | document.getElementById |
| document.fileSize、img.fileSize | 使用 XMLHttpRequest 可提取源。 |
| script.onreadystatechange 和 script.readyState | script.onload |
| document.selection | window.getSelection |
| document.createStyleSheet | document.createElement(“style”) |
| style.styleSheet | style.sheet |
| window.createPopup | 使用 div 或 iframe(zIndex 值很高) |
| 二進(jìn)制行為 | 變化;使用基于標(biāo)準(zhǔn)的等效,如 canvas、SVG 或 CSS3 動(dòng)畫 |
| 舊數(shù)據(jù)綁定 | 使用框架提供的數(shù)據(jù)綁定,如 WinJS |
這些更改在某種程度上可阻止某些 user-agent 檢測(cè)機(jī)制錯(cuò)誤地將 Internet Explorer 標(biāo)識(shí)為較早版本, 盡顯Internet Explorer 作為一款現(xiàn)代瀏覽器的網(wǎng)絡(luò)之美。
換句話來(lái)說,這些改變就是Internet Explorer 11對(duì)網(wǎng)站說:“請(qǐng)不要再叫我IE,我是一款支持最新標(biāo)準(zhǔn)的現(xiàn)代瀏覽器!”
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Internet Explorer 11:不要再叫我IE的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#汉字转拼音
- 下一篇: 金条提前还借不出来了