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

探秘IE8 JavaScript功能超乎想象

開發 前端
IE 7在CSS編程方面的改進給很多開發者帶來了耳目一新的感覺,但是在JavaScript方面的表現卻不敢恭維,然而微軟在IE 8上做了很大的改變,JavaScript已經成為其開發的一個重點。

IE 7在CSS編程方面的改進給很多開發者帶來了耳目一新的感覺,但是在JavaScript方面的表現卻不敢恭維,實際上,在這方面我們看到的只是一些新的BUG。不過幸運是,微軟已經看到了這一點,在IE 8中,JavaScript已經成為其開發的一個重點,下面我們就一起從開發者角度來看一下IE 8的一些特點。

51CTO推薦閱讀:Firefox和IE之間7個JavaScript差異

W3C:querySelector

IE8開始支持一些新的W3C規格,其中多了querySelector和querySelectorAll兩個函數。querySelector是CSS selector的查找原理的一種快速實現方法。IE 8是第二個實現Selectors API的瀏覽器(另一個瀏覽器是WebKit)。簡單來說,它實現的就是jQuery里令人驚艷的CSS Selector功能。例如以下的范例:(只有IE8可以跑,FF、IE7都會發生錯誤)。

  1. <html> 
  2. <body> 
  3. <div><div><span>InnerSpan</span></div></div> 
  4. <div><span class="myClass">ClassSpan</span></div> 
  5. <script type="text/javascript"> 
  6. .innerHTML);  
  7. .innerHTML);  
  8. </script> 
  9. </body> 
  10. </html> 

這兒需要特別指出的是,任何Selectors要完全依靠瀏覽器的原生selector實現。IE8支持CSS2.1,因此開發者無需再等待CSS 3 selectors的推出。

支持更多HTML 5功能

我一直希望在IE 8中增加一些HTML 5兼容功能,在IE 8中我們看到了4個在這方面的完整功能,非常棒!

1、HTML 5: window.location.hash

這個功能已經被多數瀏覽器支持的非常好。在IE8標準模式中將window.location.hash中的更改作為導航,并保存先前文檔的URL,可以像在Ajax應用中模仿“后退”按鈕效果。IE8中對它進行了改良,可以廣播這個hashchanged時間,據我所知這是***個采取這種處理方法的瀏覽器。

2、HTML 5: DOM存儲

通過這個功能,數據可以持續保存在本地,它將取代原始的cookie存儲機制。我們已經在2.0版本以后的Firefox瀏覽器中看到過這個功能,但是在Opera和Safari中尚未支持此功能。

3、HTML 5: postMessage

IE8現在支持跨文件消息通訊(Cross-Document Messaging-XDM)!通過onmessage事件和postMessage方法,兩個來自不同域的網頁可以進行通訊。目前IE 8、Opera 9、Firefox 3和WebKit nightlies版均支持這個功能,也就是說,該功能幾乎已被所有***瀏覽器支持。

4、HTML 5: Offline Events

在IE 8中擁有一些離線事件來檢測網絡的中斷,通過它我們可以編寫精彩的離線Ajax應用。目前來看支持這一功能的瀏覽器包括Firefox 3和IE 8。

IE8引入XDomainRequest跨站數據獲取功能

這是一個非常有趣的進行跨站數據獲取的功能,不過它與Firefox 3中的跨站 XMLHttpRequest的工作原理不太一樣。它的跨域并不是無限制的。需要服務端返回http header中帶有XDomainRequestAllowed=1才可以跨域,否則是不成功的。

XMLRequest 不能跨站一直都是多子域服務器的硬傷。使得很多情況不得不考慮最原始的動態script和JSON的方式。不過IE8團隊有意解決跨站訪問數據的問題,這是IE8的一個進步。另外,IE8下的XMLHttpRequest增加了一個很重要的屬性 timeout和ontimeout方法,它在對程序進行優化時極其重要。

DOM漏洞修補

在IE 8中getAttribute/setAttribute已經進行了重大改進。簡單來說,它們現在已經可以完成屬于自己的任務,IE8和和其它瀏覽器在這方面的差距已經不大。臭名昭著的accessing relative/absolute href/src屬性問題也已經得到解決,這是一個很大的進步。另外它們還增加了hasAttribute功能。

其它新增和修復包括:

◆.ownerElement和.ownerDocument。我們現在終于有了一個統一的方法來處理子框架。

◆getElementById可以通過id來返回對象。這是一個我們期盼已久的功能。

◆getAttribute("checked") 現在返回“checked”而不是true。

◆動態創建(或修改)的單選按鈕現在可以被選擇了。

對于這些修復我感到即高興又生氣,高興的是微軟終于對它們做出了正確的修改,生氣的則是微軟花了這么長時間才做出正確的修改。

W3C:事件

這個功能是IE 8目前版本完全缺失的一個部分。我們依然需要繼續使用IE的attachEvent系統,還看不到addEventListener的到來。我不確認這個功能的缺失對于IE 8的Acid3支持將帶來多大的影響,不過在Acid3中已經包含了對addEventListener的測試,因此微軟可能已經開始考慮增加對它的支持。

從某種程度上我可以理解微軟希望保留自己現有API的心情,但是我不能理解它們為什么沒有興趣也增加對addEventListener的支持。我猜測理由可能是微軟不得不支持像事件捕獲之類的概念。對于這一點我感到非常失望。我認為這是下一個版本中急需修正的一個地方。

JavaScript語言

在完善垃圾收集、內存管理和性能等問題上,IE團隊已經進行了一些重大的改進,這些改進對我們很多應用的開發都意義重大。

盡管如此,我還是要糾正一點。盡管IE8對于JavaScript開發者來說是非常偉大的一個瀏覽器,但如果更準確的說,高興的或許只是“JavaScript+DOM”開發者。單就JavaScript來說,IE 8卻比較令人失望:在這個版本的瀏覽器中并沒有出現任何新的純正JavaScript功能。我只能寄望于在下一個版本中增加更多的改進了。

ARIA支持

這是一個讓我感到非常滿意的變化。ARIA是一個非常了不起的規范,可以讓Web應用有能力與讀者進行清晰的交流。在此之前IE缺乏對它的支持,不過現在這一缺陷已經在IE 8中得到彌補。目前Firefox、IE和Opera已經都支持ARIA。WebKit團隊似乎還沒有興趣支持這一功能,實在是令人感到不可理解。

嵌入式SVG

目前在IE 8已經增加了對嵌入式命名元素的支持。這意味著你可以對SVG和Methyl進行內聯標記,從這一點上來看,IE瀏覽器將來有望增加對SVG的原生支持。

IE Web Developer:IE版的Firebug

在IE瀏覽器中我們終于看到了這個類似Firebug的工具,用Firebug創建者Joe Hewitt的原話來說:“我非常高興微軟在IE8中完全復制了Firebug的功能。”我不得不承認,類似的工具已經存在了很長時間,而且深受開發者歡迎。

IE Web Developer可以讓你檢查和編輯你的HTML DOM,顯示錯誤信息、日志信息,顯示網站源代碼,監視DHTML事件和HTTP流量。

瀏覽模式切換

乍一看,由于這個功能的存在,你可以看一下你的IE 7網頁是否能在IE 8中顯示,實際上它的真正用途在于,開發者可以開發一個標準兼容的網頁(IE8、Firefox、Safari和Opera),然后查看在IE 7中的顯示效果。對于開發者來說,這是一個非常有用的功能,因為我們無需再借助于虛擬機中的其它版本IE瀏覽器來測試網頁效果。

Bug回饋

IE團隊從測試者那兒收集反饋信息,然后將漏洞發布到一個公開訪問的網站上。這是微軟非常明智的一個進步。用戶可以從這兒看到微軟對漏洞的改進信息。

結論

總體來說,盡管IE8也有自己的缺點,我還是對這個新版IE瀏覽器持肯定看法。類似querySelector、ARIA和postMessage等功能對開發者都非常有幫助。對于那些不足之處,例如沒有新的JavaScript功能,沒有W3C事件支持,沒有CSS3 Selectors,我認為將在未來的版本中會有所改進。

【編輯推薦】

  1. Firefox和IE之間7個JavaScript差異
  2. JavaScript跨瀏覽器兼容測試三步走
  3. IE中JavaScript DOM ready應用技巧
  4. JavaScript在IE和FireFox中的不同表現
  5. JavaScript解決常見瀏覽器兼容問題
責任編輯:王曉東 來源: IT168
相關推薦

2009-03-30 09:07:22

微軟瀏覽器IE8

2009-03-30 09:08:40

微軟瀏覽器IE8

2010-10-08 16:42:41

JavaScriptIE8

2011-03-08 11:14:35

IE7、IE8、IE

2010-08-19 10:56:55

JSIE6IE7

2016-10-13 13:43:04

WebPGoogleJPEG和PNG格式

2009-04-23 09:05:08

IE8llq自定義功能

2009-03-22 09:59:43

微軟IE8瀏覽器

2010-08-19 15:24:52

IE6IE7IE8

2009-05-06 09:02:48

微軟Windows 7操作系統

2010-08-17 16:50:30

JSIE6IE8

2010-03-15 10:06:45

IE8Javascript

2009-03-30 09:09:47

微軟瀏覽器IE8

2015-12-08 10:20:36

電子產品世界

2010-08-18 10:48:56

IE8IE7

2011-02-14 14:21:10

IE9IE8Chrome

2009-02-19 08:52:41

IE8Windows 7發布日期

2012-05-04 08:45:23

IE8

2009-05-05 08:58:35

IE8微軟瀏覽器

2009-03-29 10:02:31

IE8瀏覽器微軟
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线大片 | 久草在线 | 理论片87福利理论电影 | 欧美国产一区二区 | 亚洲第一天堂 | 久久天堂网| 成人国产免费视频 | 嫩草懂你的影院入口 | 久久精品欧美一区二区三区麻豆 | 国产精品国产a级 | 国内自拍偷拍视频 | 亚洲 日本 欧美 中文幕 | 久久人人爽人人爽人人片av免费 | 亚洲国产一区二区在线 | 精品视频一区二区三区在线观看 | 99久久精品国产一区二区三区 | 激情六月丁香婷婷 | 免费观看一级毛片 | 色片在线观看 | 九九热精品视频 | 国产视频一区在线 | 天天综合网永久 | 精品久久久久久久久久久久久 | 一级一级一级毛片 | 亚洲品质自拍视频网站 | 新av在线| av在线免费观看网址 | 亚洲一区精品在线 | 中文av电影 | 日韩在线视频免费观看 | 久久免费精品 | 国产女人第一次做爰毛片 | av性色| 欧美乱淫视频 | 中文字幕亚洲在线 | 日韩精品视频网 | 欧美午夜一区 | 精品视频999 | 日韩精品一区二区三区在线播放 | 日韩视频精品在线 | 在线看91 |