jQuery 4.0_迈向现代 Web 的垫脚石

更新日期: 2024-03-19阅读: 773标签: jQuery
jquery 一度占据主导地位,它使 html 遍历、事件处理和 Ajax 变得轻而易举。尽管现代框架吸引了开发人员,但 jQuery 仍然在 WordPress 等领域占据主导地位。jQuery 4.0.0 Beta 版本是迈向尖端未来的微小但关键的一步。

经过慎重准备,jQuery团队终于发布了v4.0的beta版本!这个版本带来了错误修复、性能提升和显著变化,最值得注意的是放弃了对IE<11的支持,以更好地适应现代web标准。jQuery团队长期寻求的重大改进在jQuery 4.0.0 beta中得以实现,包括清除多余代码、淘汰已废弃的api、移除未发布的内部参数,以及简化过于复杂的“魔法”行为。

让我们来看看4.0版本带来了哪些更新。


再见,IE 10 

jQuery 4.0.0 Beta 中的一个显着变化是终止了 IE 10 支持。它反映了网络社区向高级浏览器属性的转变,淘汰旧的以促进进步。通过放弃旧的 IE 版本,jQuery 减少了代码并提高了性能。


修剪老化的 API 

随着网络的发展,一些 jQuery 策略变得过时了。jQuery 4.0.0 Beta 大胆地抛弃了这些陈旧的 API,这一举措对于保持库的新鲜度和快速性至关重要。开发人员被鼓励让旧代码焕发活力,拥抱新鲜的 jQuery 风格。

具体包括:

  • jQuery.cssNumber

  • jQuery.cssProps

  • jQuery.isArray

  • jQuery.parseJSON

  • jQuery.nodeName

  • jQuery.isFunction

  • jQuery.isWindow

  • jQuery.camelCase

  • jQuery.type

  • jQuery.now

  • jQuery.isNumeric

  • jQuery.trim

  • jQuery.fx.interval

如果您的代码使用了这些函数,请务必更新它,以使用相应的原生方法或替代函数,确保与jQuery的最新版本兼容。


其他变化

  • 移除特定方法:jQuery 4.0移除了一些设计用于内部使用的数组方法,包括push、sort和splice。开发者应更新他们的代码,以使用标准数组方法代替。

  • 事件顺序变化:jQuery 4.0中focusin和focusout事件的处理顺序发生了变化,以符合最新的W3C规范。这可能会影响依赖旧顺序的插件或代码。新的顺序是:blur -> focusout -> focus -> focusin。

  • jQuery.ajax添加FormData支持:jQuery.ajax现在可以自动处理二进制数据,包括FormData,无需额外配置。

  • 移除JSONP自动转换:jQuery 4.0不再自动将dataType:“json”和提供的回调函数转换为JSONP请求。现在推荐使用CORS进行跨域交互,因为它在jQuery 4.0支持的所有浏览器中都有效。这有助于避免在不知情的情况下执行来自远程域的代码。


拥抱 ESM 

也许 jQuery 4.0.0 Beta 中最大胆的飞跃是它向 JavaScript 应用程序的现代标准(ECMAScript 模块)迈进。这种转变不仅促使开发人员利用当代 JavaScript 功能,而且还确保与现代构建工具和模块加载器的顺利集成。

虽然许多人可能会倾向于 reactvueangular 等框架,但 jQuery 的刷新具有象征意义。它标志着图书馆持久的相关性和发展,为其爱好者预示着一个具有前瞻性的时代。


受信任类型和CSP支持

jQuery 4.0现在支持受信任类型,允许使用包装在TrustedHTML中的HTML作为jQuery操作方法的输入,同时遵守内容安全策略的require-trusted-types-for指令。

此外,为了避免CSP错误,jQuery 4.0已将大多数异步脚本请求从使用XHR改为使用<script>标签。XHR仅在特定情况下继续使用(例如使用“headers”选项时)。对于需要支持IE11的情况,建议使用主构建版本或添加原生Promises的polyfill。


更精简的构建版本

jQuery 4.0的精简构建版本经过优化,移除了Deferreds和Callbacks,进一步减小了它们的大小(压缩到不到20k)。虽然Deferreds提供了一些原生Promises没有的功能,但在大多数情况下,可以代替使用原生Promises。对于需要支持IE11的用户,建议使用主构建版本。


jQuery发展历史

什么是jQuery?

jQuery是一个快速、简洁的JavaScript框架。它最初发布是为了简化JavaScript编程并提供跨浏览器兼容性。在web开发的早期,不同浏览器在JavaScript实现上有显著差异,这使得编写跨浏览器的JavaScript代码非常困难。jQuery旨在通过提供一致的API,使JavaScript编程简化,更容易开发跨浏览器代码。

jQuery的出现

jQuery的历史可以追溯到2005年,当时John Resig开始开发一个名为“Behaviour”的库,旨在简化JavaScript编程。然而,他发现这个库太大且过于复杂,于是决定开发一个更轻巧、用户友好的JavaScript库,这就是jQuery的原型。

2006年1月,John Resig宣布发布了他的库,命名为jQuery。初始版本已经支持CSS选择器、事件处理和AJAX交互,其独特的链式语法和简洁的多用途接口受到了广泛赞誉。随着版本的迭代,jQuery逐渐增加了对动画效果、插件扩展的支持,使得开发者在web开发中使用JavaScript变得更加容易。

jQuery的影响

jQuery对web开发产生了重大影响,使得JavaScript编程对开发者来说更加可接近,并显著提高了跨浏览器的兼容性。许多网站和web应用仍然依赖于jQuery,因为它的易用性、广泛的插件生态系统和对老旧浏览器的兼容性。

jQuery还有相关性吗?

随着React、Angular和Vue.js等现代JavaScript框架和库的崛起,一些开发者质疑jQuery在现代web开发中的相关性。然而,出于几个原因,jQuery在web开发中仍然有一席之地:

  • 遗留浏览器支持:许多网站和web应用仍需要支持如IE11这样的老旧浏览器,这些浏览器缺乏对现代JavaScript特性的支持。jQuery提供了一个桥梁,允许开发者编写在广泛的浏览器版本中都能工作的代码。

  • 易用性:jQuery的简洁语法和广泛的文档使得开发者易于学习和使用。对于web开发新手或那些更喜欢简单直接的JavaScript编程方法的开发者来说,jQuery仍然是一个吸引人的选择。

  • 插件生态系统:jQuery的广泛插件生态系统为开发者提供了大量预构建的解决方案,用于常见的web开发任务,如表单验证、图片滑块和AJAX交互。这个生态系统通过允许开发者利用现有解决方案而不是重新发明轮子,节省了开发者的时间和精力。

  • 与其他框架的集成:许多现代JavaScript框架和库,如React和Vue.js,可以与jQuery共存,允许开发者在利用其他框架的优势进行应用开发的同时,使用jQuery完成特定任务。这种灵活性使得jQuery即使在现代web开发环境中也是开发者工具箱中的宝贵工具。

尽管jQuery可能不再是前端开发领域的主导力量,但它在现代web开发中仍然有其位置,因为它对遗留浏览器的支持、易用性、广泛的插件生态系统和与其他框架的集成。随着jQuery 4.0 beta的发布,jQuery团队展示了他们保持jQuery在不断发展的web开发生态系统中相关性的承诺。

那么,你认为jQuery还有存在的意义吗?

链接: https://fly63.com/article/detial/12688

是时候和 jQuery 说拜拜了么?

在网络上也时不时会看到,“是时候和jQuery说拜拜了”,最著名的莫过于在2013年的这篇文章You Might Not Need jQuery。

前端程序员应该知道的15个jQuery小技巧

15个jQuery小技巧:返回顶部按钮,预加载图像,检查图像是否加载,自动修复破坏的图像,悬停切换类,禁用输入字段,停止加载链接,淡入/滑动切换,简单的手风琴...

Jquery插件开发的方法总汇

jquery插件是用来扩展jquery对象的一种方法,它的使用方法是通过jquery对象$来调用。其中Jquery插件开发一共有三种方式:$.extend(),$.fn,$.widget()

JQuery 自动触发事件

在JQuery中,可以使用trigger()方法完成模拟操作,trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。rigger(type[,data])方法有两个参数

高版本jquery中attr和prop的区别

在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

原生js中DOM对象转成jQuery对象、jQuery 对象转成 DOM 对象的实现

jquery是对js语言的封装、扩展,实现了对浏览器的兼容,使用jquery能让操作更方便简洁,这篇文章主要讲解原生js中Dom对象和jquery对象的相互转换。

jquery分页插件pagination.js报错pagination is not a function的bug解决方法

在使用jquery.pagination.js插件的时候,会出现pagination is not a function的错误,这是什么原因导致的呢?这里为大家整理一下,请对比自己的代码参考!

jQuery 常用小技巧分享

整理一些简单技巧的集合,帮你提升 jQuery 技能,你可以直接拿来使用,下面内容包括:禁止右键点击、隐藏搜索文本框文字、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器...

jquery动画实现_浅谈jQuery之动画

jQuery提供了JS未能提供的动画效果,利用jQuery的动画效果,可以极大的简化JS动画部分的逻辑,包括:滑入滑出动画、淡入淡出动画、显示隐藏动画、停止动画、自定义动画

jQuery如何为指定标签添加和删除一个样式

在网页的实际应用中,需要根据不同的条件来改变元素的CSS样式,通过动态的给元素添加删除一个CSS类可以实现此功能,下面通过实例来介绍一下如何实现此种功能。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!