jQuery 1.9 和 2.0 - TL;DR 版

发布在

似乎很多人对上一篇文章存在疑问和误解,所以让我们尝试用简短的问答形式来回答一些留在那里评论中的问题。

为什么 jQuery 核心团队要放弃对旧 IE(IE 6/7/8)的支持?我们并没有!jQuery 1.9 将在明年发布时支持旧 IE。jQuery 团队将在 jQuery 2.0 发布后继续支持和维护 1.9 版本。

为什么你让我使用条件注释来包含 jQuery?我们并没有!你可以使用 jQuery 1.9 来支持我们支持的所有浏览器,从 IE6 到最新的 Chrome、Safari、Opera 或 Internet Explorer 版本。

当 jQuery 2.1 发布并添加 API 时,jQuery 1.9 会支持它们吗?我们能借用你的水晶球吗?jQuery 2.1 不太可能在 2014 年之前发布,因此在 2012 年中期,我们很难说 jQuery 2.1 会是什么样子。我们的总体目标是使 1.x 和 2.x 线路保持同步,并通过插件添加功能;请查看上周会议上的主题演讲

您将支持 jQuery 1.9 多长时间?只要旧 IE 仍然是网络上的重要因素。甚至有可能在 1.x 线路中发布更多版本,但我们还没有收到上一个问题中要求的水晶球。然而,当微软在 2014 年 4 月停止对 Windows XP 的支持时,这将对旧 IE 安装基数造成打击。

我仍然有很多 IE8 用户,你不能只放弃 IE6 和 IE7 吗?旧 IE 浏览器有许多相同的缺陷,因此,在 jQuery 2.0 中只删除这三个浏览器中的任何一个都没有帮助。如果您需要任何类型的旧 IE 支持,那么受支持的 jQuery 1.9 将会为您提供支持。

我的网站在中国,我们 22% 的用户仍在使用 IE6!这似乎是某种人权侵犯。哦,那不是个问题。

关于“jQuery 1.9 和 2.0 - TL;DR 版”的 61 条想法

  1. Razmig 说道:

    我认为有人应该采取勇敢的行动,直接放弃 IE6-8。一步一步的做法行不通,我们需要促使人们更新他们的浏览器。这只会延缓网络的发展。

    想象一下我们浪费的时间来支持旧式技术,如果我们将这些时间花在寻找新事物上,将会帮助很多。

    我认为拥有一个只支持现代浏览器的 jQuery 会很棒,并且为仍然需要支持旧浏览器的用户提供另一个版本。

  2. Chooks 说道:

    只有我认为 IE6 用户习惯了互联网看起来很糟糕,而且运行不正常吗?

    也许我仅仅是从设计师的角度来看待这个问题,但是如果你只支持现代浏览器,他们永远不会注意到有什么不同。

  3. 对于所有说,“为仍然需要支持旧浏览器的用户提供另一个版本”的人来说,他们是 99% 的企业开发者,也就是大多数开发者。

    当然,你会遇到一些不在乎的初创公司、小型商店和设计团队,他们会使用 2.0,但实际上推动世界运转的大多数网络开发工作将在很长一段时间内使用 1.9。仅仅因为微软最终停止了对 Windows XP 的支持,并不意味着人们不会继续使用它,而且我们客户的客户将会在他们无法使用“一直正常运行”的东西时非常生气。

  4. 就把它们命名为 2.0 和 2.0-legacy。

    就这样,问题解决了。不用再无谓地抱怨要抛弃那些使用 1.9 的人。

  5. @dmethvin。也许是我误解了,但实际上感觉是你误解了我的观点。

    我理解 1.9 可能在 IE8 占据市场份额的这段时间内得到支持。我也理解 1.9 甚至在 v2 版本发布后也可能会获得增量版本。令人难以置信的是,我也感谢你没有水晶球。

    此外,我之前也提到过,我确实理解没有遗留 IE 支持的 jQuery 会更小。

    但是我的观点仍然不变。如果你在不同的版本系统上拥有遗留 IE 支持,迟早 1.9.x 和 2.x 之间的功能会朝不同的方向发展。如果我们想在现代浏览器中使用 jQuery 中的新酷功能,我们最终将不得不像写得很糟糕的 WordPress 主题一样,在一个网站中对两个版本进行浏览器嗅探和功能检测。或者我们保持简单,一直使用 1.9 直到 IE8 最终消失,这会让我非常沮丧。

    我热爱 jQuery,对它没有负面评价,已经使用它很多年了。我不认为它是臃肿的,因为我相信这个决定表明其他人确实认为它臃肿。我希望能相信一个世界,在那里我们可以只为最新的、最棒的东西提供服务,但在那之前,jQuery 使我们能够轻松地为所有人提供服务。我不想在保持最新状态和向后兼容性之间做出选择。

    如果我误解了,我很高兴。如果不是,我希望我对 IE8 仍然有影响力的观点是错误的。

    Rich

  6. 我不相信 jQuery 团队必须在 2.0 版本中放弃对 IE < 9 的支持,以便向前发展并满足现代浏览器中 JavaScript 开发的需求。

    这是因为对于这些现代浏览器来说,jQuery 2.0 根本没有必要。开发者可以直接使用浏览器的内置 JavaScript 引擎,并避免所有臃肿。想要使用 CSS 选择器来编写选定文档元素的脚本吗?那么他们可以直接使用 document.querySelectorAll() 和 document.getElementsByClassName()。现在,通过使用 addEventListener()(是的,即使在 IE9 中也可以使用),可以在所有现代浏览器中统一地附加事件。使用 XMLHttpRequest 对象进行 AJAX 也是一样的(在 IE9 中也是原生的)。

    许多开发者主要使用 jQuery 来进行跨浏览器的 JavaScript 开发,涵盖了遗留的 IE6 浏览器。如果您真的想专门为现代浏览器进行开发,那么实际上不需要 jQuery。除非您还使用 jQuery 插件,但它们只会因为对 jQuery 2.0 的依赖而给现代浏览器中的网页添加臃肿。

  7. @Perry
    你一定是在开玩笑,这个
    document.getElementByClassName(‘class’)
    比这个好
    $(‘class’)
    这是最简单的例子,jQuery 不止这些。

  8. 我发现自己很困惑,为什么人们在理解这个即将更新的简明扼要的 TL;DR 版本时会有如此大的困难。简单的事实是,jQuery 团队并没有放弃对旧版本 IE 的支持,他们只是为那些有幸能够这样做(使用更小、更快的替代方案)的 Web 开发人员提供了一个更小、更快的替代方案。

    既然我们正在讨论缺乏支持,为什么不把 IE5 也纳入讨论呢?肯定有某个偏僻的角落,那里仍然在使用它。另一个事实是,IE5 的使用率不足以让支持它变得明智,当 IE 版本 6 到 8 的使用率达到相同水平(我希望这种情况会尽快到来)时,jQuery 团队就会放弃对它们的支持。

    确实,并非所有开发人员都将从此次更新中受益,但那些确实受益的人将会欣喜若狂。

  9. Aaron Hamilton 说:

    我很多使用 jQuery 的场景都排除了 IE,IE 仍然很糟糕,一直到 IE10 都是这样,所以我没有针对它进行开发。

    让 jQuery 尽可能地摆脱 IE 的那些累赘将是一件很棒的事情,它肯定会让 jQuery 的维护和使用变得更加轻松愉快。