jQuery於2013/4/18釋出2.0版~

這是我所寫過最好寫的jQuery改版文,本想只寫個"不解釋"就收工的,因為要講的在jQuery 1.9上市時已經講過囉~ XD

1.9是一次大改版,拿掉不少API,換版後程式不相容機率大增,升級前建議參考升級指南所列舉注意事項,以免踩雷觸礁。而2.0與1.9的API完全相同,只差在2.0完全摒棄對IE 6/7/8版的支援,更加輕巧快速。所以,如果網頁已調整好可配合jQuery 1.9運作,又不需要支援IE6/7/8(有此等好運,請務必保持低調,以免遭其他網頁攻城獅圍毆),那麼就放心大膽地改用jQuery 2.0吧!

若仍需顧及IE6/7/8又想使用2.0,可採以下寫法:

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

如果程式已相容1.9,更換為2.0的好處其實不多:

  1. 移除對IE6/7/8的支援後,2.0最終版的體積較1.9減少12%。
    (下階段目標是等待Android 2.x淘汰,移除Android/Webkit 2.x相容還能省更多。IE表示: 嘿,老賊換人當了~)
  2. 支援自訂組裝版。jQuery共分為12個模組,可視需要選取有用到的模組包成客製版縮小體積,最精簡版經壓縮可小於10KB。(但採用自訂組裝版有利有弊,一直存在爭議)

如果程式已升到1.9且仍需支援老IE,個人覺得倒也無強烈動機一定要升版2.0不可。至於未來,jQuery將會分兩路改版,分道揚鑣:

  • 1.9會升級成1.10、1.11,繼續保持對IE9以前的版本相容
  • 2.0則會改版為2.1, 2.2,維持一貫的態度: IE8是什麼? 能吃嗎?

順道一提,九命怪貓XP最近進入產品支援365天倒數,換句話說,明年4/8之後繼續用XP跟IE6/7/8的使用者,可以視為自作孽不可活的大豬頭,正式揮別舊瀏覽器時代已指日可待,深陷跨瀏覽器地獄的朋友們,再撐一下囉~


Comments

# by 匿名

革命尚未成功,攻城師仍須努力

# by auston

项目能直接使用jQuery2.0的攻城狮是幸福的攻城狮

# by 黃仔

照文章中的寫法,我測試在ie9會出現<!--[endif]—>,最後一行要改成<!--<![endif]-->就正常了。參考資料:http://www.impressivewebs.com/loading-different-jquery-version-ie6-8/

# by Jeffrey

to 黃仔,感謝分享補充。

Post a comment