成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Internet Explorer 11:其實已經不再是 IE 了

系統 瀏覽器
在微軟Build 2013開發者大會上,微軟發布了用于 Windows 8.1 上的首個 Internet Explorer 11 的預覽版,雖然被叫為 Internet Explorer 11,但它已經不再是 IE 了。

微軟在上周剛剛發布了用于 Windows 8.1 上的首個 Internet Explorer 11 的預覽版,此舉是為了回應之前泄漏關于 Internet Explorer 11 的信息。我們已經確認 Internet Explorer 11 中的一些新特性,包括對 WebGL 的支持、預抓取、預渲染、flexbox、mutation observers 以及其他一些 Web 標準的支持。但是更有趣的是,雖然被叫為 Internet Explorer 11,但它已經不再是 IE 了。

這也是首次微軟真正移除了 Internet Explorer 的一些特性:更改了 user-agent 字符串,這使得很多判斷瀏覽器是否 IE 的代碼無法工作,包括有些 JavaScript 的 isIE() 的方法在 Internet Explorer 11 上執行會返回 false。不過好在 Internet Explorer 11 對 Web 標準的支持非常好,因此不再需要之前那些 IE 特定的行為。

在 Internet Explorer 11 中,user-agent 比之前的版本要短很多,而且去掉了最關鍵的 MSIE 的關鍵字:

Internet Explorer 11 的 user-agent:

  1. Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko 

Internet Explorer 10 的 user-agent (on Windows 7):

  1. Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) 

上述 user-agent 你還會注意到增加了 Gecko 的標識,而 Safari 是首個標注了 Gecko 的瀏覽器。

之前多數使用 MSIE 來判斷是否 IE 瀏覽器的代碼都無法工作,可以改用 Trident 字符串來判斷。Trident 標識是在 IE9 中引入的。

此外微軟還更改了 navigator 對象:

  • navigator.appName 值為 “Netscape”
  • navigator.product 值為 “Gecko”

這或許是一項開發者的詭計,但該行為的確是在 HTML5 中實際指定的。在 HTML5 中要求這兩個屬性必須返回上述對應的值,這是一個很奇怪的規定的,更奇怪的是 Internet Explorer 11 遵守了這個規定。

此舉導致一些根據 navigator 對象判斷瀏覽器型號的 JavaScript 代碼會將 Internet Explorer 11 識別成基于 Gecko 的瀏覽器。

document.all 和 friends

從 IE 4 開始,document.all 在 IE 中舉足輕重。比起 document.getElementById() 來說,document.all 是 IE 方式的獲取元素的引用的方法。盡管 IE 5 增加對 DOM 的支持,但 document.all 一直沿用至 IE 10。而在 Internet Explorer 11 中終于被廢棄了,這意味著在 Internet Explorer 11 中使用 document.all 的方法將可能導致執行失敗,盡管使用了 document.all 的代碼實際上還是可以工作。[3]

另外一個要廢棄的是 attachEvent() 方法,該方法用于添加事件處理器,對應的 detachEvent() 用來移除事件處理器。這兩個方法將在 Internet Explorer 11 中刪除。移除這兩個方法需要改用如下邏輯:

  1. function addEvent(element, type, handler) { 
  2. if (element.attachEvent) { 
  3. element.attachEvent("on" + type, handler); 
  4. } else if (element.addEventListener) { 
  5. element.addEventListener(type, handler, false); 
  6.    } 

當然,建議你優先使用標準的瀏覽器進行測試以確保不會因為 attachEvent() 的移除而影響代碼執行。不過互聯網上充斥著各種糟糕的監測代碼,你只能確保自己的應用經過良好的標準測試。

被刪除的特性還包括:

  • window.execScript() – IE 版本的 eval()
  • window.doScroll() – IE 用來滾動窗口的方式
  • script.onreadystatechange – IE 方式的腳本加載完成的事件通知
  • script.readyState – IE 方式的測試腳本是否加載完成的狀態
  • document.selection – IE 方式獲取當前選擇的文本
  • document.createStyleSheet – IE 方式創建樣式單
  • style.styleSheet – IE 方式引用樣式

所有這些被廢棄的方法都有基于標準的替代方法。如果你使用的是標準的方法那恭喜你,可直接支持 Internet Explorer 11.

結論

看起來 Internet Explorer 11 應該是 Internet Explorer 家族最棒的版本。通過最終移除過去一些魔鬼般的錯誤,微軟正在為大家準備一個真正標準的瀏覽器。

更新(2013-7-2): document.all 并沒有真正被刪除,但不推薦使用。

via nczonline/oschina翻譯

責任編輯:黃丹 來源: oschina
相關推薦

2009-02-24 08:22:53

Internet ExIE8RTM

2011-07-18 09:28:44

開源開放

2022-06-30 16:14:20

IEEdge瀏覽器

2013-05-31 13:33:57

Ubuntu操作系統

2015-03-30 15:28:42

創業創業融資七牛

2013-11-08 09:48:50

IEIE11

2025-05-26 08:27:00

2009-12-16 09:44:57

Linux桌面Linux

2012-08-24 13:37:59

Internet Ex瀏覽器

2011-11-21 13:11:46

Wi-Fi下一代熱點

2012-03-14 15:06:11

用友云計算

2009-06-12 08:39:07

BSM運維管理北塔

2020-11-11 14:56:00

Docker容器工具

2020-04-24 08:18:31

Python編碼 開發

2015-11-23 13:17:42

引導設計

2011-09-20 09:38:55

2017-03-14 13:28:53

2011-03-17 13:59:14

和信創天終端管理虛擬終端管理系統

2011-09-20 10:24:30

2020-02-12 09:05:51

機器人人工智能物聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久成人一区 | 免费黄视频网站 | 一级毛片免费视频 | 黄色小视频入口 | 在线观看中文字幕 | 国产精品久久久久久久久久妇女 | 成人影院一区二区三区 | 视频一二区 | 亚洲色图综合 | 国产高清视频在线观看 | 亚洲欧美日韩久久久 | 99久久电影| 欧美色a v | 一区二区三区不卡视频 | 欧美日韩中文字幕 | 成人久久18免费网站 | 国产精品a一区二区三区网址 | 精品无码久久久久久国产 | 日日夜夜天天 | 欧美精品一区二区在线观看 | 在线中文视频 | 三级视频网站 | 日本免费视频在线观看 | 亚洲视频免费播放 | 人人人干| 国产主播第一页 | 97人澡人人添人人爽欧美 | 国产精品成人在线播放 | 色婷婷久久久亚洲一区二区三区 | 精品国产欧美日韩不卡在线观看 | 久久国产精品视频 | 亚洲国产精品日韩av不卡在线 | 99精品国产一区二区三区 | 九九九视频在线 | 久久精品久久久久久 | 成人精品一区二区 | 日韩一区二区免费视频 | 国产精品久久久久久久久图文区 | 久久久久久久久久久高潮一区二区 | 日韩在线视频一区 | 精品视频网 |