鱼C论坛

 找回密码
 立即注册
查看: 24|回复: 1

[技术交流] 那个统治互联网20多年的「$」符号:它终于不再支持IE了!

[复制链接]
发表于 3 小时前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
imgi_1_0.png

前两天看到 jQuery 4.0 发布 Beta 版的消息:

imgi_6_640.png

第一反应也是:“这项目居然还在更?”

顺手点开 Changelog 扫了一眼,发现这次不太一样。

这位 Web 开发界的“活化石”,干了一件它早就该干、但一直没舍得干的事:

不再支持IE10,并且,逐步移除对IE和老旧浏览器的支持

imgi_8_640.png

这个东西,是一个JS库,但凡了解过前端开发的同学,绝对不陌生的。

不知道的鱼油也没关系,你知道这是一个重要的库就行了,至于有多重要呢,可以说是几乎所有网站都用过。

小甲鱼老师Web课程:



现在的入行的新人可能很难共情这种感觉。

在他们的世界里,浏览器基本等于 Chrome,顶多再测个 Safari,火狐路边一条。

但是,把时间倒回20年前,哦不,是10年前。

前端开发约等于“和 IE 斗智斗勇”。

你刚写好一个酷炫的布局,在 Chrome 上完美运行,一开 IE,全乱套了。

为了调一个 z-index 的层级 bug,或者修一个 opacity 的透明度问题,你得写一堆丑陋的 hack 代码。

那时候,$ 符号不是一个库,它是我们的
游客,如果您要查看本帖隐藏内容请回复


jQuery 最牛的地方,不是有什么惊天动地的算法,而在于代码一致性,它帮我们挡住了浏览器那些稀奇古怪的差异。

它那句 Write Less, Do More,翻译过来其实是:

把脏活累活交给我,你们专心写业务。

同时,这个库,也大幅度精简了当时前端开发的难度,一句顶10句。

比如说,给网页做一个,点击按钮,元素切换的功能。

jQuery一句话搞定

  1. $("#btn").on("click", () => $("#panel").stop(true, true).slideToggle(200));
复制代码

而使用原生,需要先找到元素,再找到面板,再绑定事件,再切换样式。

并且,还得添加css样式的代码:

  1. const btn = document.querySelector("#btn");
  2. const panel = document.querySelector("#panel");

  3. btn.addEventListener("click", () => {
  4.   panel.classList.toggle("open");
  5. });
  6. //还需要加点css
  7. #panel { max-height: 0; opacity: 0; overflow: hidden; transition: .2s; }
  8. #panel.open { max-height: 200px; opacity: 1; }
复制代码

当然,可能用得更多的,还是发送http请求了!

比如发一段post,jQuery还是一句话:

  1. $.post("/api/login", { user: "a", pass: "b" }, (res) => console.log(res));
复制代码

原生JS,如果浏览器支持fetch还好,但是IE这个是不支持的,所以写起来要命:

  1. var xhr = new XMLHttpRequest();
  2. xhr.open("POST", "/api/login", true);
  3. xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

  4. xhr.onreadystatechange = function () {
  5. if (xhr.readyState === 4 && xhr.status === 200)
  6. {    console.log(JSON.parse(xhr.responseText));  }};
  7. xhr.send("user=a&pass=b");
复制代码

所以嘛,jQuery 几乎是所有网页必备的库,就算到了现在,市场占有率,同样是居高不下。

这次更新,它终于支持 ESM 模块化了。

这意味着你终于不用像十几年前那样,在 <script> 标签里排队引入文件了。

你可以像用 React 或 Vue 一样,优雅地 import 它,把它塞进现代的构建流程里,让jQuery继续发光发热。

那么问题来了:

现在我们还需要 jQuery 吗?

按理说,现在的原生 JS (querySelector, fetch, classList) 已经够好用了,React 和 Vue 更是统治了复杂的应用开发。

jQuery 看起来确实像个上个时代的残党。

在外网看到一个观点,说的是:

现在的开发环境是不是有点“过度防御”了?

有时候只是想做一个简单的活动页,或者给 WordPress 写个插件,却被逼着去配Vite、 Webpack、去配 TypeScript、去思考组件的生命周期……

有时候,前端程序员只是想让这一行字淡入淡出而已

这可能就是为什么,直到今天,W3Techs 的数据显示全网还有 88% 的网站在使用 jQuery。

所以,jQuery还在更新,还想继续为大家提供支持,随时准备为那些需要简单粗暴解决问题的人提供一把趁手的瑞士军刀。

评论区聊聊你的想法



                               
登录/注册后可看大图




如果有收获,别忘了评分


                               
登录/注册后可看大图


                               
登录/注册后可看大图
                                                                    
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2 小时前 | 显示全部楼层
感谢分享 朕又在鱼C学到Web技术啦!非常满意
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-11 23:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表