古詩詞大全網 - 成語經典 - jQuery的歷史版本

jQuery的歷史版本

(2007年9月):這壹版去掉了對XPath選擇符的支持,原因是相對於CSS語法它已經變得多余了。這壹版能夠支持對效果的更靈活定制,而且借助新增的命名空間事件,也使插件開發變得更容易。

jQuery UI(2007年9月):這個新的插件套件是作為曾經流行但已過時的Interface插件的替代項目而發布的。jQuery UI中包含大量預定義好的部件(widget),以及壹組用於構建高級元素(例如可拖放的界面元素)的工具。 (2010年1月14號):對代碼庫進行了內部重寫組織,開始建立壹些風格規範。老的core.js文件被分為attribute.js,css.js,data.js,manipulation.js,traversing.js和queue.js;CSS和attribute的邏輯分離。

⒈4重要新特性

·常用方法的性能大幅提升:重寫了大部分較早期的函數;

·更容易使用的設置函數(setter function):為所有對象新增了許多易用的設置函數;

·對Ajax的改進:引入了許多Ajax和JSON處理方面的更新,包括HTML5元素的序列化;

·attribute(改進了.attr()的性能)、jQuery()核心函數、CSS(.css()性能有兩倍提升)、特效和事件、DOM操作等也有顯著改進 (2011年1月31日):該版本修復了83個bug,解決了460個問題。重大改進有:重寫了Ajax模塊;新增延緩對象(Deferred Objects);jQuery替身——jQuery.sub();增強了遍歷相鄰節點的性能;jQuery開發團隊構建系統的改進。

1.5新版本

美國時間2011年1月31日John Resig在jQuery官方博客發表文章,宣布jQuery 1.5正式版已經如期開發完成,可以下載使用。壓縮版本jQuery Minified29KB,不壓縮版本jQuery Regular(用於閱讀和調試)207KB。由於jQuery已經成為目前最流行的JavaScript庫,得到廣泛的支持,新版本的發布當然非常引人註目。

重要變化:

1. Ajax重寫

Ajax模塊完全進行了重寫。新增壹個jXHR對象,為不同瀏覽器內置的XMLHttpRequest提供了壹致的超集。對於XMLHttpRequest之外的傳輸機制,比如JSONP請求,jXHR對象也可以進行處理。(詳情可以參見:jQuery.ajax文檔)

此外,系統的可擴展性大大增強,可以附加各種數據處理器、過濾器和傳輸機制,為開發新的Ajax插件提供了方便。

2. 延遲對象

延遲對象(Deferred Object,jQuery.Deferred對象)是壹個可鏈接的(chainable)實用工具對象,實現了Promise接口,可以在回調隊列中註冊多個回調、調用回調隊列並轉發任何同步/異步函數的成敗狀態。正如Using Deferreds in jQuery 1.5壹文中說明的,其結果是在jQuery中能夠將依賴於某個任務(事件)結果的邏輯與任務本身解耦了。這壹點在JavaScript中其實並不新鮮,Mochikit和Dojo等已經實現有些日子了。由於jQuery 1.5的Ajax模塊內置使用了延遲對象,因此通過jQuery編寫Ajax程序將自動獲得這壹功能。

開發人員借此可以使用無法立即獲得的返回值(如異步Ajax請求的返回結果),而且第壹次能夠附加多個事件處理器。

例如,使用了新的jQuery內部Ajax API就可以實現下面的代碼了:

// Assign handlers immediately after making the request,// and remember the jxhr object for this request var jxhr = $.ajax({ url: example.php }) .success(function() { alert(success); }) .error(function() { alert(error); }) .complete(function() { alert(complete); });// perform other work here ... // Set another completion function for the request above jxhr.complete(function(){ alert(second complete); });

此外,使用jQuery.Deferred還可以開發自己的延遲對象。更多詳情參見:延遲對象文檔。

3. jQuery.sub()

jQuery 1.5提供了壹種創建和修改jQuery副本的方式。可以用來添加不向外部公開的方法,或者對jQuery的某些方法進行重新定義以提供新功能,或者提供更好的封裝、避免名稱空間沖突。當然,也可以用來開發插件,但Resig強烈建議在開發插件之前,先考慮jQuery UI widget工廠。

值得註意的是,sub函數並不提供真正的隔離,所有方法、數據、調用仍然依靠jQuery本身來支持。

4. 遍歷性能提高

在新版本中.children(),.prev(),.next()幾個常用的遍歷函數性能有了顯著提高。

5. 內部開發系統

John Resig還特別提到了jQuery團隊內部開發系統的兩點改變:壹是服務器端用Node.js替換了老的Java/Rhino系統,使得團隊可以專註於JavaScript環境的新變化;二是所用的代碼優化程序從Google Closure切換到UglifyJS,新工具的壓縮效果非常令人滿意。

jQuery 1.5.2 在1.5的基礎上修正的大量的bug

jQuery 1.7b 2011年09月29日jQuery 1.7 的第壹個 beta 測試版本,該版本修復了超過 50 個的問題以及帶來壹些新特性。

2011年11月4日jQuery1.7正式版發布。

新版本包含了很多新的特征,特別提升了事件委派時的性能尤其是在IE7下。

新增及改進項:

⒈新的事件 APIs: .on() and .off();

⒉提升了事件委派時的性能有了大幅度的提升,尤其是在IE7下;

⒊更好的在 IE 6/7/8 上支持 HTML5;

⒋切換動畫更加直觀;

⒌匿名模塊定義 AWD

⒍jQuery.Deferred

⒎jQuery.isNumeric()

被刪除的方法:

event.layerX and event.layerY

jQuery.isNaN() 2012年03月24日jQuery 1.7.2正式版發布。

該版本在1.7.1的基礎上修復了大量的bug,並改進了部分功能。而相比於1.7.2 RC1,只修復了壹個bug。值得註意的是:如果妳正在使用jQuery Mobile,請使用最新的jQuery 1.7.2和jQuery Mobile 1.1這兩個版本,因為之前的jQuery Mobile版本還基於jQuery core 1.7.1或更早的版本。 2012年11月14日 jQuery 1.8.3 發布,修復 bug 和性能衰退問題

IE8中的HTML相關Bug

jQuery 1.8.2在IE9中調用ajax失敗的問題

jQuery 1.7.1不能正確地設置IE7中克隆元素的tabindex屬性

壓縮的JS文件包含非ASCII字符

如果body樣式設置為display:none,則$('body').show()無法工作

在IE9中element.css('filter')返回不明確

在Android 2.3.4的瀏覽器中,jQuery 1.8.1轉場效果崩潰

在iPad上縮放壹個燈箱效果後,所有動畫效果失效

從1.3.2升級到1.8.2版本後,出現Uncaught TypeError錯誤

在Chrome和Safari中,無法正確檢測包含可編輯內容的DIV的焦點 2013年3月 jQuery 2.0 Beta 2 發布

據jQuery官方博客3月消息,jQuery 2.0 Beta 2 發布。

根據用戶對jQuery 2.0 Beta 1 版本的反饋,Beta 2 版做了壹些修改。jQuery官方表示,非常需要用戶來測試 Beta 2 版,最好同時也能向他們反饋提交建議。

他們相信,Beta 2 版已非常穩定,值得壹試,不需要等 2.0 的最終版本。

jQuery 團隊在官博中再次提醒用戶,jQuery 2.0 不再支持IE 6/7/8 了,但是 jQuery 1.9 會繼續支持。因為舊版 IE 瀏覽器在整個互聯網中還有很大部分市場,所以他們非常期望大部分網站能繼續使用 jQuery 1.x 壹段時間。jQuery 團隊也將同時支持 jQuery 1.x 和 2.x 。1.9 和 2.0 版的 API 是相同的,所以不必因為妳們網站還在用 jQuery 1.9,就感覺好像錯過了什麽,或者是落後了。

如果妳想繼續支持 IE 6/7/8,並且又想嘗試 jQuery 2.0,那妳可以額外加上壹些代碼。除了老版的 IE,其他所有瀏覽器都將使用第二腳本,忽略第壹個。

在很多環境中,jQuery 2.0 應當都表現的很好。如下:

Google Chrome plugins

Mozilla XUL apps and Firefox extensions

Firefox OS apps

Chrome OS apps

Windows 8 Store (“Modern/Metro UI”) apps

BlackBerry 10 WebWorks apps

PhoneGap/Cordova apps

Apple UIWebView class

Microsoft WebBrowser control

Cheerio or jsdom with Node.js

Intranet applications

2013年4月18日 jQuery 2.0正式版發布 不再支持IE 6/7/8:如果在IE9/10版本中使用“兼容性視圖”模式也將會受到影響。 更輕更快:2.0版本文件與1.9.1相比小了12%。 可以構建壹個更小、更輕量的版本。 jQuery 2.0 API完全兼容jQuery 1.9 API。 jQuery 1.9.1漢化版2013年2月23日發布,由網友翻譯非官方 2014年5月1日,jQuery2.1.1版發布