jQuery開發團隊今天釋出了1.8的首個測試版本

Web開發者發表於2012-06-25

jQuery開發團隊今天釋出了1.8的首個測試版本。

該版本引入了大量的新特性,包括:

1. 模組化

  在jQuery 1.8中,您可以移除一些不需要的模組,以構建一個專屬的jQuery版本。通過基於grunt的新構建系統,你可以輕鬆實現該功能。可以移除的模組包括ajax、css、dimensions、effects和offset。更多資訊可參閱README file

2. 根據瀏覽器為CSS屬性加字首

  某些CSS屬性前帶有供應商字首,這表明該屬性還未納入W3C標準。在jQuery 1.8中,可以採用無字首的屬性名,並自動生成適合當前瀏覽器的字首。例如,在Chrome中,jQuery呼叫$("#myscroll").css("marquee-direction", "backwards")將設定為“-webkit-marquee-direction: backwards”。

3. 動畫

  在jQuery 1.8中,你可以更容易地新增或修改動畫。新的“$.Animation”提供了堅實的基礎,並修復了之前版本中的許多bug,以便你的動畫能夠支援老版瀏覽器。如果你的Web應用只針對現代瀏覽器,你可以完全移除animation模組。

4. CSS選擇器引擎Sizzle

  jQuery 1.8中重寫了選擇器引擎,大大提升了效能。此外,選擇器引擎Sizzle修復了一些邊緣問題和bug,包括對於多個選擇符(~ > +)的改進、更好地檢測瀏覽器bug等。

5. XSS防護

  $()方法可以建立HTML元素,如果被用來傳遞一個<script>標籤,則可以執行指令碼。開發者有時會忘記這一點,將不受信任的源或使用者輸入的字串傳遞到jQuery,就可能導致指令碼注入,使攻擊者可以竊取cookies或破壞頁面。

  jQuery 1.8引入了一個新的方法“$.parseHTML”。它可以讓你指定HTML字串,它們會被作為HTML解析,$()將作為選擇器來解析字串。“$.parseHTML”也提供了一種方式將HTML解析為DOM片段,並控制可能包含的任何指令碼的執行。這對於由Content Security Policy (CSP)控制的JavaScript環境來說特別重要,因為注入的指令碼可能導致安全警告或異常。

  在1.9中,一些HTML字串將不再會被$()識別。

6. 不建議使用或將移除的功能

  • $.browser:通過user agent字串來檢測瀏覽器不是一個好主意,在1.9中將完全移除該方法,不過你可以使用相容外掛。或者你可以試試Modernizr
  • $.sub:該方法是在jQuery 1.5中引入的,但是被證明不是很有用,將被移到jQuery 1.9相容性外掛中。
  • 全域性AJAX事件:一些事件(如ajaxStart)可以被附加到不在一個文件中的任何元素中,這將導致效率低下。在1.9中,Ajax事件將只能附加到文件中。

詳細資訊:JQUERY 1.8 BETA 1

下載地址:http://code.jquery.com/jquery-1.8b1.js

相關文章