jQuery團隊終於發布jQuery 4.0.0正式版,此為近十年來第一個主要版本更新,官方提醒jQuery 4.0.0包含破壞性變更,但預期多數使用者只需做少量調整即可完成升級,官方也準備了升級指南與jQuery Migrate對應版本,協助既有專案在過渡期間找出不相容用法並逐步修正。

在jQuery 4.0.0正式版中,受資安與前端治理關注的更新是支援可信型別(Trusted Types)。也就是說,已用TrustedHTML包裝的HTML內容,可以作為jQuery操作DOM時的輸入,在啟用內容安全政策(CSP)並要求可信型別強制規則的情境下,較不會因型別不符而被瀏覽器阻擋。官方也提到,為了降低CSP對內嵌腳本限制帶來的相容性摩擦,多數非同步載入腳本的請求改以<script>標籤載入,盡量避開可能引發CSP錯誤的路徑。

另一個對企業舊系統影響較直接的變更,是jQuery 4.0.0移除對IE 10與更舊版本的支援,並同步停止支援多款過時瀏覽器。官方將分階段限縮相容性範圍,下一步預計在jQuery 5.0處理IE 11相關支援,對仍需維持舊瀏覽器相容性的組織而言,官方建議維持使用jQuery 3.x系列。

配合主要版本更新,jQuery 4.0.0清理多年累積的舊介面與相容性包袱,官方移除多個早已標示為廢棄的API,並鼓勵改用瀏覽器原生對應功能。同時也移除一部分原先僅供內部使用,卻因歷史因素留在公開函式介面上的參數與方法,官方指出,這些刪減加上移除舊IE相容程式碼,整體檔案體積也因此縮小。

jQuery 4.0.0還帶來一項需要留意的改動,官方說明,jQuery 4.0支援的瀏覽器近年在focus與blur相關事件觸發順序的差異已大幅縮小,jQuery不再覆寫瀏覽器原生行為。多數現代瀏覽器因此會依照現行W3C規格的事件觸發順序運作,但仍需支援IE 11的專案可能會出現與其他瀏覽器不同的原生事件順序,開發者在升級時需要檢查互動流程是否仍符合預期。

此外,jQuery 4.0.0更新slim版本。slim版本原本就不包含Ajax與部分動畫相關模組,4.0.0再進一步移除Deferred與Callbacks,讓精簡版檔案更小,官方表示,在其支援的瀏覽器範圍內,大多數情境可改用原生Promise完成相近用途。不過要是需支援IE11,則建議使用完整版本,或另行加入Promise polyfill以補足相容性。

熱門新聞

Advertisement