jQuery 1.8的新功能

距jQuery 1.7发行已经九个月了,所以在这里,我们有了一个闪亮的新版本,可以帮助您在较短的时间内编写更少的代码,同时又保持了跨浏览器的出色兼容性( 目前 )。 让我们看一下主要的新功能和更新…

更多嘶嘶声

jQuery的Sizzle选择器引擎已针对性能和效率进行了优化。 它依赖于本机querySelectorAll方法(如果可用),但是即使在浏览器之间实现上也有所不同。 jQuery 1.8提供了有关裂纹的文章,并且仍然为IE6和7提供了编码后备。

自动CSS前缀

当您在.css()或.animate()等方法中使用CSS属性时,jQuery 1.8将自动添加任何必需的前缀。 因此,您可以应用单个transform并且-webkit-,-moz-,-ms-和-o-前缀将被附加。

如果您在CSS box-sizing: border-box使用了box-sizing: border-box ,您也将很高兴听到现在可以正确计算width,innerWidth,innerHeight,outerWidth,outerHeight方法了。

高级动画

jQuery团队承认动画代码变得有些笨拙。 已经解决了这一问题,因此动画性能得到了改善。

但是,我怀疑jQuery和JavaScript动画的时代已经到来。 它永远不会完全消失,但是CSS3用更少的代码提供了更好,更快的效果。 幸运的是,如果您不需要jQuery的动画方法,则不需要它们……

增加的模块化

jQuery 1.8比1.7.2版小了几百个字节,但是可以使用基于grunt的构建系统进一步删除它,以去除不需要的功能。

挤虫子

最后,jQuery 1.8修复了160多个错误。 代码库已经非常坚固,因此令人惊讶的是,他们发现了很多要解决的问题。

是时候升级了吗?

那些使用v1.7.x的用户可能可以切换到1.8版本而不会引起重大问题。 较旧的版本也应该很好,但要准备进行一些严格的测试。

也就是说,问题通常会在发布后的几天内报告出来,因此,更为谨慎的问题可能更喜欢等待jQuery 1.8.1的几周时间。

jQuery在jQuery.com上可用。 CDN托管的版本将很快出现。

From: https://www.sitepoint.com/whats-new-in-jquery-1-8/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该版本引入了大量的特性,包括: 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元素,如果被用来传递一个[removed]标签,则可以运行脚本。开发者有时会忘记这一点,将不受信任的源或用户输入的字符串传递到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事件将只能附加到文档中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值