成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

jQuery 2.0將移除對IE6/IE7/IE8的支持

2012-07-24 22:09:19來源:infoq作者:

近日,jQuery Core團隊發布了jQuery 1.8 Beta 1。其代碼位于jQuery CDN上,地址是http://code.jquery.com/jquery-1.8b1.js。GA版預計于這個月發布。jQuery Core團隊還談到了他們對于jQuery下一個版本1.9與2.0的規劃

近日,jQuery Core團隊發布了jQuery 1.8 Beta 1。其代碼位于jQuery CDN上,地址是http://code.jquery.com/jquery-1.8b1.js。GA版預計于這個月發布。jQuery Core團隊還談到了他們對于jQuery下一個版本1.9與2.0的規劃,并且提到將要移除對IE6/7/8的支持。

jQuery 1.8

下面是1.8版值得關注的一些變化。

定制化

jQuery 1.8有一個基于grunt的全新構建系統,你可以通過它輕松構建自定義的jQuery版本。你現在可以將不需要的模塊排除在外以使得jQuery盡可能地小。要想構建自己的自定義版本,請克隆jQuery repo并使用grunt將不需要的模塊排除掉?蛇x的模塊有ajax、css、dimensions、effects與offset。比如說,要想移除所有可選的模塊,使用的命令將會如下所示:

git clone git://github.com/jquery/jquery.git
cd jquery && npm install
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset

這樣會生成一個只有約21KB大小的定制化jQuery(最小化且經過gzip壓縮)。注意到該功能是面向高級用戶的,因為你必須得清楚項目的依賴關系,特別是所用的第三方插件之間的依賴關系。感興趣的讀者可以閱讀jQuery README文件以了解完整信息。

自動化的廠商CSS前綴

$.css()會自動接收不帶前綴的屬性名,然后生成適合于當前瀏覽器的前綴。Web開發者將不必關心所有特定于廠商的屬性名了。比如說在Chrome中,jQuery調用$("#myscroll").css("marquee-direction", "backwards")會將該CSS設為-webkit-marquee-direction: backwards。

$.Animation

jQuery動畫代碼得到了清理和增強,這是通過使用幾個擴展點來實現的,這些擴展點能夠簡化動畫的添加與修改。如果需要支持沒有內建動畫的老式瀏覽器,那么新的$.Animation則提供了堅實的基礎。如果你只需要支持現代瀏覽器并且使用原生支持的動畫,那么你可以完全忽略掉動畫模塊。注意,$.Animation相關的文檔還在編寫當中。

Sizzle選擇器引擎更新

Sizzle是jQuery的CSS選擇器引擎,在1.8版中它進行了一次較大規模的重寫。重寫的結果是對選擇器匹配帶來了性能上的提升,同時改進了大多數常見選擇器的快捷方式。

XSS防護

jQuery 1.8引入了新的方法$.parseHTML,你可以通過它將輸入指定為HTML,并且知道他們將會被解析為HTML。這是$()無法做到的,因為它還會將輸入字符串解析為選擇器。$.parseHTML還提供了一種方式將HTML解析為DOM塊并控制腳本的執行。我們強烈建議大家使用$.parseHTML,特別是輸入來自于不受信任的源如URL或是用戶輸入的情況下。jQuery 1.9做出了很多變化以實現更好的XSS防護,下文將會對其進行詳述。

全局Ajax事件的附加

全局Ajax事件,如由$.ajax觸發的ajaxStart,目前可以附加到任何元素上了——甚至是不在文檔中的元素。這會導致效率的低下,因此jQuery 1.8將不建議使用該行為。

jQuery 1.9

下面是1.9版的規劃,該版本將于2013年初發布。

XSS防護

根據設計,$()方法可以創建HTML元素并運行腳本(如果傳遞進來的是<script>標簽)。但開發者有時會忘記這一點,將來自不受信任源的字符串傳遞給jQuery,這會導致跨站腳本(XSS)攻擊。在jQuery 1.9中,對$()方法來說“看起來像是HTML”的規則將會得到更加嚴格的處理。一個字符串只有第一個字母是小于號才會被當作是HTML,否則就會被當作是CSS選擇器。由于根據這些更加嚴格的規則,某些HTML字符串將無法被$()識別出來,因此請確保在使用該功能時仔細檢查你的代碼,也可以使用$.parseHTML作為替代函數。

移除$.browser與$.sub

從jQuery 1.3開始,$.browser就不建議被使用了,并且將于jQuery 1.9被移除。還在使用$.browser的開發者應該看看$.support或Modernizr以進行特性檢測。其他選擇有使用jQuery 1.9 compatibility插件、或是直接讀取navigator.userAgent字符串。

從jQuery 1.7開始,$.sub就不建議被使用了,并且將于jQuery 1.9被移除。該函數會創建jQuery的一個新副本,其屬性與方法可以被修改,同時又不會影響到原來的jQuery對象。事實證明,該函數并不是那么有用,因此將會被移到1.9 compatibility插件中。我們期望在移除掉這么多不建議使用的條目后,jQuery 1.9的文件尺寸能夠變得更小一些。

jQuery 2.0

下面是2.0版的規劃,該版本將于2013年初發布,就在jQuery 1.9發布之后不久。

移除對IE6/IE7/IE8的支持

jQuery 2.0所支持的APIs與jQuery 1.9一樣。它并不會增加什么主要的特性,但卻會移除對IE 6/7/8怪癖的支持,比如說臭名昭著的事件模型、IE7的“attroperties”、HTML5 shims等等。1.9與2.0的目標是對于他們所支持的API來說能夠實現互換。jQuery 2.0將會更小、更快,同時不再有為了支持IE6/7/8所引入的那些問題。如果需要支持IE6/7/8,那么請選擇1.9;否則,你既可以使用1.9也可以使用2.0。你還可以通過條件注釋在使用IE6/7/8時只包含進1.9。

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

即便在jQuery 2.0發布后,jQuery團隊也將會繼續支持和維護1.9,只要IE6/7/8的影響還在就不會停止對其的支持。jQuery團隊并未計劃未來添加大量的新APIs,新的功能將會以兼容于1.9與2.0的插件的形式添加進來。

要想了解更多信息,請閱讀jQuery 1.8 Beta 1: See What's Coming (And Going!)jQuery Core: Version 1.9 And Beyond

查看英文原文:

贊助商鏈接:

主站蜘蛛池模板: 重庆市| 龙口市| 威宁| 靖宇县| 中宁县| 虎林市| 宜良县| 合川市| 开原市| 通海县| 洪湖市| 手游| 漳平市| 百色市| 疏附县| 新绛县| 驻马店市| 南投市| 山丹县| 临西县| 皋兰县| 武山县| 改则县| 丰城市| 襄汾县| 南部县| 诸城市| 同仁县| 介休市| 道真| 布拖县| 克拉玛依市| 阳高县| 德清县| 青阳县| 永泰县| 抚远县| 阜阳市| 龙海市| 扎赉特旗| 祁门县|