jQuery 2.0发布,不再支持IE6/7/8

有时发现jQuery库引用的都对,javascript代码写的也没问题,可是jquery就是出现问题,额……我发现换个jquery库就没问题了,长时间不关注jquery的问题而已;

很多人都没有使用最新的jQuery库,导致突然换成2.0版本时,出现了一些没有关注的问题!

关于jQuery 2.0不再对IE6/7/8三个版本进行支持,我认为,使用jquery1.9版本好了,(我测试jquery1.11版本都是是支持IE8,2.0版本开始就不支持了! )。
等以后抛弃了IE8,我想那个时候,我们的世界也是很美好的,至少网络世界会很美好,Microsoft其实一直在不知不觉中抛弃Windows 7,很多的前端技术也在开始慢慢抛弃不支持CSS3技术的浏览器,在加之html5和CSS3技术的我们的吸引和行业的需求,所以,IE8离开我们的时代也快不远了。

----------------------------------------------------------------?-------------------------------------------------------------------------

关于jQuery 1.9和jQuery 2.0的版本区别如下:

  •   jQuery 1.9和2.0有相同的API。一些弃用的特性(如$.browser)在这两个版本中都已经移除。见jQuery 1.9升级指南
  •   jQuery 1.9可以运行在老版本IE(IE 6/7/8)上,这和之前版本一样。与jQuery 1.8相比,该版本的API更简洁、更轻量、更现代。
  •   jQuery 2.0将无法运行在老版本IE上,由于减少了一些代码,使得该版本比jQuery 1.9更小且更快。
     jQuery开发团队称,未来将同时支持jQuery 1.9和2.0两个版本,你可以根据自己的需要来选择。
  jQuery开发团队还发布了jQuery迁移插件1.0正式版,帮助检测新版本中已弃用和删除的功能,并可以在必要时恢复这些功能。
下载地址:

---------------------------------------------------------------?-----------------------------------------------------------------------

本文主要内容来自:http://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/:没有具体翻译,罗列了一些重要的注意点:

jQuery 1.9以前预告过是最后一个支持IE6/7/8的版本(oldIE),如今看来这已经是木已成舟的事情了,jQuery 2.0起(注: 现Beta版本),将只支持IE 9+及其他HTML5浏览器。在IE6/7/8占有绝对比例的国度,虽然有点失落,但是好在高级浏览器的占有率在逐渐上升。

jQuery 1.9 增加了一些新东西比如css3选择器等(后面再说),更加值得注意的是她删除了一些以前标记过时的API或变动了不少原来API,升级后可能导致现有代码无法兼容,还好jQuery团队也提供了Migrate(迁移)插件,用来检测弃用和已删除的API,或恢复原有的功能,对大部分API做了兼容,这样原来的程序大部分都可继续正常工作。不过如果你确实要升级还是早点改原来的代码吧!

jQuery的1.9和2.0的定位:

jQuery 1.9和2.0 API基本相同,所以我的中文文档也无耻的打上了“适用jQuery 1.9 – jQuery 2.0”,主要的差别在于jQuery 1.9仍支持IE 6/7/8。

jQuery 2.0不支持IE 6/7/8,只支持IE 9+及其他HTML5浏览器,不不支持IE 6/7/8后jQuery体积小了、执行速度更快了。

由于jQuery 1.9正式移掉不少了过去标注为过时(deprecated)的API,如果你目前程式已经避用过时API,升级到1.9不会有什么大问题,估计大部分苦逼程序员写的代码肯定或多或少使用了旧的API,无论你用哪个版本的jQuery,建议您总是首先把Migrate(迁移)插件引用进来。它搜罗了1.6.4以来存在但1.9已不支持老的API,打开浏览器的控制台,你可以看到有什么警告或错误的(通过console.log)产生,插件的警告以“JQMIGRATE”开始。可以做为原来代码的修改的参考。(注:使用jQuery Migrate压缩版(jquery-migrate-1.0.0.min.js)只提供兼容性功能而不产生警告信息,要使用开发版未压缩的jquery-migrate-1.0.0.js ,才会在控制台中显示警告信息,详细的不兼容信息及解决方法可以查看官方文档)。

1.9中的新功能:

简化的API:

以前版本标记过过时的许多功能已被删除,可以查看jQuery 1.9升级指南。

新的多个CSS属性获取器:

现在,您可以通过传递给.css()方法一个CSS属性名称的数组并且它会返回一个相应所以CSS属性当前值的普通对象:

具体可以查看jQuery 1.9 API中文文档中的http://www.css88.com/jqapi-1.9/css/

var dims = $("#box").css([ "width", "height", "backgroundColor" ]);
// 返回的对象:{ width: "10px", height: "20px", backgroundColor: "#D00DAD" }
增强跨浏览器CSS3支持:

现在jQuery1.9在所有的浏览器中支持下面的CSS3选择器,同样能在IE6下工作:
nth-last-child, :nth-of_type, :nth-last-of-type, :first-of-type, :last-of-type, nly-of-type , :target, :root及:lang;

具体可以查看jQuery 1.9 API中文文档中的http://www.css88.com/jqapi-1.9/category/version/1.9/

新增.finish()方法:

停止当前正在运行的动画,删除所有排队的动画,并匹配元素完成所有的动画。更多的信息和示例见:jQuery 1.9 RC1 blog post;或者查看jQuery 1.9 API中文文档中的http://www.css88.com/jqapi-1.9/finish/

支持Source Map:

现在,您可以引用运行压缩后的jQuery版本,但使用Source Map进行源码调试,但目前只有Chrome支持。Source Map原理可参考阮一峰的文章。

修复了很多的bug:

具体列表查看这篇文章的最后面http://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/

jQuery 2.0入门

jQuery 1.9升级指南也适用于jQuery 2.0, 在Android, iOS, 或者 Windows 8 应用, 或  Chrome/Firefox 插件上使用 jQuery 2.0是一个明智的选择。如果你想在你的网站上使用2.0,那么建议你在ie下这样引用脚本:

<!--[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]—>

<参考:愚人码头 & http://www.iteye.com/news/27006>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。