聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

二月 3, 2013

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» jQuery Migrate 1.1.0 Released 注意事項

jquery logojquery logo

上個月大家可以注意到 jQuery 釋出 1.9 及 2.0 版本,官方團隊也同時推出 jQuery Migrate Plugin 1.0.0 版本,此 Plugin 是跟 jQuery 1.9 或 2.0 一起搭配使用,偵測 jQuey 已移除或者是將被移除的功能,讓您之前開發的 jQuey 功能可以持續使用,但是似乎很多使用者不知道此 plugin 用處,就直接升級 1.9 或 2.0,並未載入 migrate plugin,造成官方收到很多 feed back 都是關於一些舊功能不能使用。半個月後 jQuery 官方收到很多 migrate plugin 回報問題,這次一樣可以透過 jQuuery CDN 載入,程式碼如下。

<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.0.js"></script>

壓縮版本

<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.1.0.min.js"></script>


以一個完美的 jQuery 升級是不需要 migrate plugin,但是團隊為了讓部份已經移除的功能可以正常使用,所以開發 migrate plugin 讓開發者使用。此次 migrate plugin 改版最主要是增加 debug mode 並且預設打開,讓開發者可以知道哪些程式必須要修正才可以在 jQuery 1.9 以上正常使用。底下是 1.1.0 版本新增的功能。

1. 預設將 Trace 功能打開,所有的 Browser 如果有支援 console.trace(),migrate 預設就會直接顯示在 console 介面,如果線上網站不想使用此功能,可以透過 jQuery.migrateTrace = false 將其功能關閉。

2. “Logging is active” 訊息: 如果看到此訊息代表的是網頁已經載入 migrate plugin,只是讓開發者知道已經正確載入。

3. 在 jQuery 1.9.0 版本以前 $.parseJSON() 支援 invalid JSON 值,像是 “” 或 undefined,回傳 null 而不是 error message,此 Migrate 1.1.0 也開始支援此功能,並且會顯示錯誤提示。

4. $(“<button>”, { type: “button” }) 寫法在 1.9 裏面並不支援 IE6/7/8 版本,一樣在 Migrate 1.1.0 同樣支援此功能,並且顯示錯誤訊息。

5. 你可在 jQuery Plugin 網站看到 Migrate plugin 了,或者是在 Github 上面找到。

Ref: 參考 jQuery Migrate 1.1.0 Released

一月 16, 2013

小惡魔AppleBOY
AppleBOY
is about »

tag cloud

» jQuery 1.9 final, jQuery 2.0 beta and Migrate plugin 釋出

今天早上來到公司就發現一個令人振奮的訊息,那就是 jQuery 1.9 and 2.0 beta Release 了,相信大家對於 jQuery 應該都不是很陌生了,釋出同時官網也有寫一份 jQuery 1.9 upgrade guide 文件,來幫助大家升級舊版本。那為什麼這次會同時釋出 1.9 以及 2.0 beta 呢?我們來看看 jQuery 團隊如何定位 jQuery 1.9 及 2.0:

1. jQuery 1.9 和 2.0 擁有相同的 API,一些官方打算移除的 API 像是 $.bowser,在這兩版本都已經移除,更多的訊息可以參考 jQuery 1.9 upgrade guide
2. jQuery 1.9 可以執行在 IE 6,7 和 8 版本(“old IE”),就如同之前的版本一樣升級
3. jQuery 2.0 將不在 old IE 版本上執行,此版本會比 1.9 版本還要小以及效能好
4. jQuery 團隊會持續維護 jQuery 1.9 及 2.0 版本,所以開發者根據自己的需求下載對應版本

jQuery 官方很貼心的製作 jQuery Migrate plugin,可以用在 1.9 或 2.0 上,主動偵測 deprecated 或 removed 的功能,讓原本舊有的功能暫時不用修改還可以正常運作在新版本上面,請注意 2.0 一樣不能運作在 IE 6,7,8 上面,所以選擇對應的 jQuery 版本非常重要,可以使用 jQuery CDN

jQuery 1.9 版本

<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>

jQuery 2.0 beta 1 版本

<script src="http://code.jquery.com/jquery-2.0.0b1.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>

不管使用任何版本搭配此 plugin 都必須先看 plugin documentation 注意事項,最好的解法,還是將舊式的寫法改掉,會是比較恰當的。

1.9 版本新功能

1. Streamlined API: 許多 deprecated and dubious features 已經被移除了,請大家務必先看 upgrade guide
2. New .css() multi-property getter: 現在可以傳入 array of CSS property 名稱,API 將會回傳相對應的 value 回來

舉例:

var dims = $("#box").css([ "width", "height", "backgroundColor" ]);
// return { width: "10px", height: "20px", backgroundColor: "#D00DAD" }

3. 加強 cross-browser CSS3 支援: 針對所有瀏覽器,jQuery 1.9 支援 CSS3 selectors :nth-last-child, :nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :o nly-of-type, :target, :root, and :lang.

4. 新 .finish() 方法: 此功能可以直接結束單一 element 所有的 animations,直接看官網給的範例
5. 修正一大堆在 IE 6,7,8 的 bugs,可以直接上官網看看 change log。

使用 2.0 版本

本篇重點就在 2.0 開始不支援 IE 6,7,8,那還會有人用 2.0 嗎?沒關係的,透過小技巧,讓你可以安心使用 2.0

<!--[if lt IE 9]>
    <script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0.js"></script>
<!--[endif]-->

結論: jQuery 就是想讓各位業者捨棄支援 IE 6,7,8 版本,也就是讓開發者最頭痛的版本啦,不管是不是 javascript,連 CSS 也都不喜歡 IE。

Related View

support:

biggo.com.tw

A Django site.