jQuery 核心:1.9 版本及未来
在得出错误结论之前,请查看后续文章。
正如上一篇博客文章所述,jQuery 1.8 版本正在进行春季大扫除,以删除不安全、低效、无效和不建议使用的功能。我们也开始着手允许您构建自定义版本,以排除库的某些部分,从而实现更大的节省。这些努力将使您能够使用所需的 jQuery API,而无需携带不需要的部分。
现在我们已经完成了家务,是时候展望未来了。只有一件事阻碍了我们对未来的愿景,那就是过去的浏览器幽灵。Internet Explorer 6、7 和 8(统称为 oldIE)在过去十年中一直是 Web 开发人员的眼中钉。总的来说,这些过时的浏览器仍然占据了访问某些网站的用户群的近三分之一。这相当一部分用户仍然想要网站提供的资讯、服务和产品。对于许多使用 jQuery 的网站来说,忽略这些用户并不现实也不划算。
jQuery 的构思就是专门为了解决浏览器之间的差异,因此我们不会放弃我们理念的本质,而仅仅忽略数百万仍然使用 oldIE 的活跃互联网用户(无论出于何种原因)。但我们也希望能够向前迈进,利用现代浏览器,特别是不断增长的移动市场。
未来的道路
jQuery 1.8 版本预计将在一个月内发布。以下是我们对接下来的两个 jQuery 版本的思考以及它们发布的时间。
- jQuery 1.9(2013 年初):我们将删除 1.8 版本中已弃用的大多数接口;其中一些将作为插件或 jQuery 项目支持的替代 API 提供。
- jQuery 1.9.x(2013 年及以后持续更新):此版本将继续修复所有回归错误、新的浏览器错误等。
- jQuery 2.0(2013 年初,紧随 1.9 版本):此版本将支持与 jQuery 1.9 相同的 API,但会删除对 IE 6/7/8 特定问题的支持,例如错误的事件模型、IE7 的“attroperties”、HTML5 垫片等。
我们的目标是让 1.9 和 2.0 在它们支持的 API 集方面可以互换使用。当 2.0 发布时,您选择使用哪个版本的决定应很简单:如果您需要 IE 6/7/8 支持,请选择 1.9;否则您可以使用 1.9 或 2.0。
问答
如果 jQuery 1.9 和 2.0 的 API 基本相同,那么 2.0 的优势是什么?体积更小、性能更好,以及无需为旧版 IE 支持带来的问题而烦恼。例如,我们预计可以在 2.0 版本中改进 $.Deferred 实现中的错误处理,而只要支持 oldIE,我们就无法做到这一点。
我的网站仍然有很多 IE7/8 访问者,但我想要使用 jQuery 2.0。我该怎么做?如果您的网站需要旧版 IE 支持,我们预计大多数网站至少在未来一两年内还需要这种支持,您可以使用 IE 条件注释,仅当访问者使用旧版 IE 时才包含 1.9 版本。
<!--[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]-->
为什么不为 jQuery 2.0 制作一个“oldIE 插件”?旧版 IE 的特殊处理散布在整个 jQuery 中。为了提供足够的挂钩来将旧版 IE 支持添加为插件,重构代码将使现代浏览器情况下的代码变得复杂。此外,支持旧版 IE 并使用公共 CDN 的开发人员将需要包含两个文件(jQuery 2.0 和 oldIE 插件)而不是一个文件。
jQuery 2.0 发布后,1.9 会怎样?与以往不同的是,我们将继续修复 1.9 版本中的错误(作为次要版本)。鉴于我们刚刚完成了 1.8 和 1.9 版本的春季大扫除,我们预计未来不会添加很多新的 API。相反,我们更愿意通过与两个版本兼容的插件来添加新的功能,只要有意义。因此,使用 1.9 版本时,不要觉得您落后了。
jQuery 2.0 主要用于移动设备吗?不。尽管 jQuery 2.0 非常适合 HTML 移动应用程序(包括使用 jQuery Mobile 编写的应用程序),但它不是一个仅限 Webkit 的库,它并非专门针对 iOS 和 Android。除了移动浏览器之外,2.0 还将支持(并经过测试!)现代桌面版 Internet Explorer、Opera、Firefox、Safari 和 Chrome。
jQuery 2.0 会小多少/快多少?我们只有在完成或接近完成时才能知道。您大可放心,我们会告诉您更多关于 2.0 发布日期的信息。更好的是,您可以在发布测试版后尝试一下,亲身体验一下!
2013 年初有点乐观,考虑到以往的开发进度,2015 年会比较现实,因为现在放弃 IE7/8 还为时过早。
现在我们谈论的是目标,整个 jQuery 插件部分已经停摆了 6 个多月了。对它的开发已经停滞不前,以至于它变成了一个业余爱好项目。与其用一个“我们搞砸了”的横幅链接到它,不如直接恢复旧网站进行开发。
听起来很棒!期待着“oldIE 时代”成为过去。:)
终于!太好了!
太棒了,期待着在 2020 年代中期使用 jQuery 2,那时这样做才合情合理。
说句玩笑话,这是一个非常糟糕的决定。正如您在文章中提到的,很大一部分人使用 IE,而许多人(包括我)使用 jQuery 的一大原因是它可以减轻许多跨浏览器问题。也就是说,在很长一段时间内,我都没有理由使用 jQuery 2,我感觉我不是一个人。
我怀疑到 2015 年,jQuery 将会失去 JavaScript 库市场份额的大部分,这让人感到难过,因为我一直很喜欢 jQuery,自从开始使用它以来,我一直认为它在该领域将变得更加强大,占据更大的份额。
总而言之,这对该项目来说是一个悲伤的日子。
不,Andrew,这是该项目伟大的一天。
jQuery 是一个库;即使它与许多浏览器兼容,也不意味着它应该用作跨浏览器抽象层。如果您依赖 jQuery 来解决浏览器问题,那么您要么是在处理一些边缘案例项目,要么我建议您使用其他方法来解决这些问题。
jQuery 1.8 版本是模块化的,jQuery 1.9 版本将更小,而 jQuery 2.0 版本将从 110kB 的库中剔除多余的部分。如果您依赖 IE 支持,那么您很有可能是为一家规模巨大(且具有影响力)的公司开发的,因此您可以自由选择自己的库(例如 jQ 1.4)。
被全球三分之一的网站使用意味着 jQuery 有能力推动世界进步,无论标准如何。对于 IE 开发人员来说,之前的 jQuery 版本不会消失;它们会很好地运行。
@Brian – 拜托,打开你的 Analytics。你不会告诉我 IE6/7/8 占的比例不是很大吧?
拜托,别这么讨厌了,IE 很棒。为 IE 开发简直是梦想。尤其是 IE6,它可能是我最喜欢的浏览器。
@Jimmy Smits 我完全同意。IE6 是工程艺术的杰作,开发者们做出了惊人的工作。
看起来解决方案将根据功能检测有条件地加载 1.9 或 2.0。这似乎违反直觉,也违背了 jQuery 的核心思想,即不对开发人员/用户透明地包含此类功能。我开始使用 jQuery 的全部原因是它提供极其简单的跨浏览器 AJAX 功能;我继续使用 jQuery 的主要原因是它对“旧 IE”的可靠支持。
@Andrew 您的观点在博客文章中得到了解答,他们明确承认旧 IE 支持很重要且被广泛需要,这就是 1.9 分支将更新 Bug 修复的原因。该文章还指出,1.9 和 2.0 希望拥有相同的 API,因此 1.9 用户不会被抛在后面。我认为,如果有什么不同,jQuery 将会增加其市场份额,因为那些因为 jQuery 文件大小问题而从 jQuery 迁移到使用 xui.js 或其他小型 JS 库的人将回来使用 v2.0。
总而言之,这对该项目来说是一个很棒的日子。
@Andrew 我会这样说:IE6/7/8 的比例并不高。IE6 的比例为 0.66%,IE7 的比例为 1.53%,而 IE8 尽管目前在全球市场份额中占有 14.35% 的重要比例,但其比例从一年前的 30% 下降到了这一水平。到 jQuery 2.0 发布时,最早也要到 2013 年初,IE8 的比例可能会降至 7% 左右。这意味着,IE6、7 和 8 的总比例将不到 10%。
90% 的人) 将获得非常棒的体验。
(数据来源:http://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201105-201205 )
[由于服务器出错,我已修改并重新发布了我的评论]
@Andrew 我会这样说:IE6/7/8 的比例并不高。IE6 的比例为 0.66%,IE7 的比例为 1.53%,而 IE8 尽管目前在全球市场份额中占有 14.35% 的重要比例,但其比例从一年前的 30% 下降到了这一水平。到 jQuery 2.0 发布时,最早也要到 2013 年初,IE8 的比例可能会降至 7% 左右。这意味着,IE6、7 和 8 的总比例将不到 10%。
按任何标准来看,不到 10% 的比例都不算高。如今,大多数网站都针对特定的受众群体,很少有网站真正需要向所有潜在受众群体提供完整的网站功能和内容保真度。
我即将推出的内容平台将支持任何设备上的任何浏览器,但网络作为平台和技术栈的优点在于,我们可以轻松地提供分级支持。我们可以轻松地为 IE6/7/8 提供更简单的网站体验,并将重点放在使用较新浏览器的不断增长的受众群体上,确保*他们*(超过 90% 的人) 获得非常棒的体验。
(数据来源:http://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201105-201205 )
微软,你为什么不强制更新到 IE10 或 9 呢?
我想我只能同意不同意你们的意见。正如我所说,对于我和我的客户来说,旧 IE 的比例在 15% 到 40% 之间,具体取决于网站。我同意,我可能最终会做的是,至少在发布时,执行类似以下操作:if (user.isOldIE) load_jQuery1.9(); else load_jQuery2.0();。
我的问题其实不在于 1.9 和 2.0 的发布,我认为在那一天,快速检查就足够了,一切都会继续正常工作,但我很担心 2.1 及更高版本会开始添加 1.9 中不会添加的功能、Bug 修复等,而我们最终都会面临一个问题:“是支持旧 IE 用户还是获得新的 jQuery 功能”——这不是我期待遇到的问题。
另外,我认为说比例会下降到 7% 是低估了,但为了论证起见,我接受这个数字。我想,使用 jQuery 的 99% 的人都依赖它来完成他们网站的 JavaScript 部分,这是否意味着旧 IE 用户将实质上获得一个禁用了 JavaScript 的网站版本?7% 仍然是相当大的比例,这对那些用户来说是很大的一记耳光,即使这个数字低几个百分点,我仍然会提出同样的论点。
谢谢你们。我已经不再使用 jQuery 来处理 HTML5,抛弃过时的浏览器是一个很棒的举措,我迫不及待想尝试你们的新版本。
如果我理解正确的话,这意味着“我们将有一个名为 1.9 的旧 IE 版本和一个名为 2.0 的现代浏览器版本,并将对它们进行平等维护,确保您不会因为引用了其中的哪一个而最终编写不同的代码”,那么这真是一个很棒且完美的方向。
如果它意味着“抛弃旧 IE”,那么我认为 jQuery 会很快失去领先优势。
希望我们仍然可以对这些旧 IE 浏览器进行 shim 处理,而不会被抛在后面。我的用户群中有超过 20% 的用户使用 IE 6/7/8(其中大多数用户使用 IE 8)。我很乐意放弃 IE 6 和 7,但 IE 8 仍然对我们来说是一个大鱼,而且由于它是基于 WinXP 系统的上限,因此对于那些要服务于大型企业用户群的人来说,它将在很长一段时间内都非常重要。
在 20 个月里发生了什么变化?当时,“ajpiano”在 ticket bugs.jquery.com/ticket/7487 中回复了用户对没有旧 IE 支持的 jQuery 版本的请求,他写道:“库中几乎没有代码是专门为了支持 IE6 而存在的。相反,大多数针对 IE 的代码处理的是 IE 6 和 7,而且库中用于处理 Safari 异常的特殊代码与处理 IE 的代码一样多,甚至更多。jQuery 是一个跨浏览器库,尽管 IE6 很糟糕,但它在很多地方仍然被广泛使用。我们都希望生活在一个 IE6 成为过去的世界,但直到那一天到来,jQuery 为了节省 1-2 KB,不可能删除对它的支持。”我真不愿意相信,政治因素会促使他们做出将库分叉的决定。
这是一个奇怪的决定,我认为这是一个错误的决定。正如我们从整个项目的各个方面可以看出,资源是有限的。现在,这些资源将用于维护两个代码库。虽然我也梦想着一个没有旧 IE 的世界,但我必须重新考虑,这些浏览器会存在一段时间。
jQuery 的主要目的是抽象不同的 JS 实现,并解决所有浏览器中的一些缺陷。如果您只需要关注 Webkit 浏览器,可以使用 zepto.js。如果您只针对现代浏览器:编写现代 JS。您就不需要使用 jQuery。
正如我几个月前评论的那样,将 jQuery 分割成小块,就像 mootools 和 YUI 一样,将是真正值得投入时间的事情。如果您关心文件大小并希望减小文件大小,将几乎所有内容都发布到插件中。然后,我可以选择是否需要动画插件和 AJAX 插件。
这对我们所有人都有帮助。在我看来,将开发分成两个分支并不是一个好决定。让我们看看它是否有效,或者我是否需要学习使用 YUI。
这里有很多关于旧 IE 支持的争论。在我看来,真正的问题是,如果我们作为开发人员不能使用最新的 jQuery 版本,我们就会感到自己被 jQuery 抛在了后面。我必须支持旧 IE,并将使用 1.9(如果我最终从 1.6 升级的话),因此我内心的一部分会觉得我错过了什么。
我认为很多人没有意识到的是,他们不打算在 jQuery CORE 中添加很多新的 API,而是会使用插件添加新功能。这些将是新的闪亮玩具,可以供大家玩耍,而且没有人会被抛在后面,因为它们将是两个组都可以使用的插件,在大多数情况下都是如此。
我认为,将 jQuery CORE 向一个紧凑高效的核心引擎方向发展是一个积极的转变,这个引擎能够驱动所有你想要添加的功能,但不会因为需要加载数十个你不需要的优秀功能的代码而变得臃肿。
我完全赞成缩减/优化 jQuery。但 IE8 是在 2009 年发布的(比 IE6 晚 8 年),是 XP 上可安装的最新版本的 IE,并且是 Windows 7 的默认浏览器。根据上面的 statcounter 链接,IE8 目前的流行程度是所有版本的桌面 Safari 的几倍。IE8 将(不幸地)存在很长时间,迫使 jQuery 的使用变得支离破碎,对于需要支持所有主流浏览器(至少占有几个百分点的市场份额)的大部分开发人员来说,使用 jQuery 变得更加复杂。
IE8 绝对比其他流行浏览器落后,但也许它可以成为 jQuery 非遗留分支的一部分,该分支将接收未来的开发,避免在明年 jQuery 添加不支持“老 IE”的新功能时,对于大多数开发人员来说,大多数碎片化和麻烦。IE6/7 希望在未来几年内不再成为问题。
或者也许可以更改命名,因此,而不是 1.9 和 2.0,在 1.9 方面存在完全死胡同,它们在未来的主要版本号方面,它们可以具有相同的版本号,但名称不同(“jQuery Classic”,“jQuery Legacy”,“jQuery Slim”等),至少可以保持开发人员使用 jQuery 支持所有主流浏览器在未来可以获得主要新功能的可能性,尤其是如果 IE8 并没有像有些人希望的那样迅速消失,或者对放弃对过去作为库核心功能所支持的浏览器的支持,产生比预期更大的反弹。然后,当两个分支最终在未来放弃功能奇偶校验时,您可以冻结“遗留”版本号,而不会过早地关闭该门。
好吧,伙计们,感谢您提醒 jQuery 2.0 不适合在 Microsoft 不再支持 Windows XP 之前用于面向公众的网站,因为它与该操作系统附带的最新浏览器不兼容。从现在开始,我将不再在任何新的开发中使用 jQuery,并且会在 2.0 发布之前寻找替代方案,因为 1.9 几乎不可能保持足够长的时间来保持与最新版本的 API 兼容和功能兼容,以至于 XP 和 IE8 的使用率下降到可以安全地忽略,而不会疏远典型公共网站的用户群。
考虑到中国 22% 的用户仍在使用 IE6。我们还需要一段时间才能完全利用 jQuery 2.0。
来源:http://www.ie6countdown.com/
很高兴您要放弃对老 IE 的支持。我理解人们会担心,因为很大一部分用户使用的是老版本的 IE,但如果我们继续开发针对老 IE 的网站,人们就会继续使用它。我们需要停止鼓励我们的用户(暗指毒贩)使用它。
老 IE 必须死!
这将是 jQuery 开发的一个巨大转折点,但似乎我们需要对这个问题给出确切的答案。
当 jQuery 2.1 发布时会发生什么?如果它引入了新的 API,jQuery 1.9 的后续版本是否会支持它们?
John Meyer,我对你的评论感到困惑。你现在要停止使用 jQuery,因为他们宣布明年将维护两个分支 - 一个继续支持老 IE 直到不再需要支持为止,另一个不支持(对于不需要支持老 IE 的项目,比如我的几个项目)。即使是确实需要支持老 IE 的网站,也可以通过使用条件注释来获得 2.0 的性能优势 - 因为 1.9 将 *继续接收更新* 以保持其 API 兼容并修复错误。你从文章中了解到这些要点了吗?
完全同意 Andrew 的观点。这基本上意味着我无法再使用 2.1 开发业务应用程序。无论您的统计数据怎么说,仍然有很大一部分用户受限于老 IE - 看看法律和教育等行业特定领域的使用情况。
我喜欢 jQuery,并且已经使用它多年了,但这将巨大的负担转移到了开发人员身上,让他们必须理解 2.0 之后的新功能会导致哪些问题,否则就会让我们停滞不前。
我赞成进步和老 IE 的终结,但这对那些已经饱受这些浏览器困扰的开发人员和用户来说,无疑是雪上加霜。
@Callum
好吧,在重新阅读之后,你可能是对的,“jQuery 2.0 发布后,1.9 会怎样?”部分有些含糊不清,但我想这要等一等才能看到有多少新的插件。我收回我上面的评论,但仍然有点紧张。
在阅读完整篇文章后,我几乎阅读了所有评论。我认为,如果他们只是重新阅读这篇文章,每个人都会得到答案并消除疑虑。说真的,请仔细阅读,逐字逐句地阅读。这些人知道他们在做什么。
@Kieth
我知道!这一切听起来很棒,这是一个经过深思熟虑的计划,我对此感到兴奋。
只要阅读!
我被这里所有“谢谢,我现在无法使用 2.0”的 FUD 逗笑了。这是核心团队的一项伟大举措。为现代浏览器提供更小、更快的 jQuery,为老浏览器提供它们需要的功能。双赢?这一切只需要开发人员添加一个条件语句来为合适的浏览器段加载合适的版本,这只是一个非常小的额外工作。棒极了!
对我来说听起来不错,我只是担心 jQuery 2.1 及以后的版本。如果添加了新功能,我将无法利用它们,因为我必须假设 x% 的用户使用的是老 IE。或者,我可以在我使用新功能时对代码进行分支,并添加我对老 IE 的支持。听起来很头疼。
无论如何,我认为 jQuery 面临的问题没有完美的解决方案。如果支持老 IE,整个库可能会被拖延数年。如果放弃对老 IE 的支持,可能会让开发人员的生活变得更难。没有完美的解决方案。
我完全理解放弃对 IE6 支持的决定。
IE7 也正在走向消亡。
然而,IE8 仍在使用中。它拥有强大的用户群,并且在短期内不会消失。我知道一些企业目前正在升级 *到* IE8。
我不知道 jQuery 中有多少与 IE 相关的代码是特定于每个 IE 版本的,但我认为,您本可以通过简单地删除对 IE6 和 IE7 的支持,而无需妥协对 IE8 的支持,从而实现清理代码库的大部分目标。
另一个可以更好地帮助您实现的目标是新版本的采用。就目前情况而言,v2.0(以及任何后续版本)的采用速度将会很慢,因为人们需要 IE8 支持。即使他们可以不使用 IE6 和 IE7 的支持,他们也无法切换到 jQ2。
说真的,伙计们:我建议您重新考虑一下。您正在做的是一件好事,但需要放慢一点速度。发布没有 IE6 和 IE7 支持的 2.0 版本,但保留 IE8 支持。您可以在以后的版本中随时放弃它。
这样做将使您的用户更容易过渡,也可能使您,jQuery 开发人员更容易过渡。
敬未来的到来。2013 年快来吧。
我赞赏这种态度的转变,并很高兴看到 2.0 版本中性能更强大的 jQuery!不要让少数负面评论者让你却步,关键是新功能主要会与仅支持新浏览器的全新创新绑定。你不可能神奇地将功能打补丁到过时的浏览器中。我知道将 IE8 纳入淘汰范围的决定是最有争议的,但微软不是也计划推动 Vista/7 用户使用 IE9+ 吗?XP 已经十年了,明年它显然会更老。我认为是时候让旧 IE 通过 1.9 版本进入生命维持状态了。
终于抛弃 IE 了!
对于那些担心无法在 2.1 及更高版本中使用功能,因为你将使用 1.9 版本为 IE 用户提供服务,请问你希望添加哪些功能或者担心会错过哪些功能?多年来,jQuery 的 API 一直满足项目的需求和目标。最近的主要 API 更改都是语法糖(例如,使用 .on() 和 .off() 的新事件绑定),我想许多未来的 API 更改将类似。
我能想到的可能添加到 jQuery 中的所有新功能都超出了项目范围,应该存在于库之外。
好消息!看来你会失去一大批用户,他们要么太蠢,不理解你写了什么,要么太懒,连读都不愿意读。不用跟这些人打交道,也许比抛弃旧 IE 还能更快地推进开发。
jQuery 团队的这一举动似乎很明智。
PC 上现代浏览器的市场正在增长,并将继续增长。
http://bot24.blogspot.com/2012/06/pc-volume-to-grow-almost-5-in-2012-but.html
移动浏览器的市场正在爆炸式增长。
http://www.techjournal.org/2012/06/demand-for-smartphones-tablets-to-remain-red-hot-through-2017/
IE 6-8 的市场正在萎缩,并将继续萎缩。
http://www.w3counter.com/trends
在这种情况下,为不断增长的市场提供服务的好处似乎超过了要求萎缩的市场编写两行额外代码的弊端。
jQuery 2.0 似乎针对的是资源更受限的移动市场。
即使有竞争对手成功地取代 jQuery 成为台式机上“旧 IE”的首选库,他们赢得的也只是一个不断萎缩的利基市场,而且年复一年会变得更小。
从这个角度来看,jQuery 团队的举动似乎经过深思熟虑。
我发现对这个公告的强烈反应很有趣。其实也没那么糟糕,真的,人们。
1) IE8 与 IE6 和 IE7 一起包含在内的原因是它们共享相同的代码库。IE9 进行了重大重写,以消除臃肿,将浏览器带入未来(追赶)。
2) 你希望添加哪些“功能”,你会需要一年后才能使用?
3) 看看当前台式机浏览器使用率统计数据。Chrome 正在上升,IE 正在下降。许多 Chrome 用户仍然认为他们在使用 IE,因为他们不知道区别。想象一下,一年后会是什么样子……IE 将会变得非常小一部分,而其中很大一部分将是 IE8,jQuery 1.9 仍然会支持它。
所以,没什么好担心的。不要为还没有发生的情况感到压力。:)
IE 6 可能现在已经成为过去,几乎无人使用,IE 7 也是如此,但 IE 8 却被广泛使用,在 2013 年初仍然会占据相当大的市场份额。难道我们不能通过去除 IE 6-7 的冗余来节省一些空间,而不会(现在)放弃对 IE 8 的支持吗?
我今天开始的新项目已经将 IE 6 和 7 作为支持的浏览器排除在外,但我们将在未来一段时间内继续使用 IE 8。
我支持你们决定放弃对 IE6 和 IE7 的支持,但现在放弃对 IE8 的支持是不是有点早了?
我不支持你们决定放弃对 IE6、IE7 和 IE8 的支持!考虑到中国有 22% 的用户仍在使用 IE6,而 IE7 和 IE8 呢?
所有网络浏览器都在争相实现 HTML5 兼容性,一旦 2013 年到来,这将是一个无关紧要的问题。我认为我们发现使用旧 IE 版本的用户将比往年少,因为我相信现在更多用户了解浏览器。
我认为放弃 IE 支持是一个错误的决定。@Faruk Ates,除非你的客户统计数据也符合这些统计数据,否则这些统计数据意义不大。例如,我目前有一位客户,他们的分析显示 IE 占 54%,其中 48% 是 8 及更低版本。有趣的是,他们的流量有 35% 来自移动设备(主要是 iPhone)。
如果 1.8 版本应该提供自定义构建,为什么不将 IE 支持作为构建中的选项呢?
我会说再见,但更像是“再见,不送”。不过,考虑到 XP 上的 IE 用户无法升级到 IE8 以上版本,我认为应该保留对它的支持。
你们是否也能缩短冗长的 ajax 代码?
v1.7.2 的第 6971 行到第 8357 行都是关于 ajax 的。
jQuery 2.0 有可能采用更模块化的设置吗?
我使用 jQuery 的主要原因是使用 polyfills 和“兼容性”修复,以使 IE 8 及更低版本的行为像现代浏览器一样,所以虽然我理解这种进步是不可避免的,但我仍然感到困扰的是,人们会先于微软放弃对 IE 的支持。老实说,这有点像两难境地,如果我们不强迫 IE 用户和微软升级他们的浏览器,那么我们就会一直为它开发,而且很有可能,如果统计数据显示它是一款流行的浏览器,因为我们支持它,那么微软也可能会支持它。但放弃对如此庞大用户群的支持也是不好的做法,仅仅因为他们无法升级(XP 无法获得 IE9+,大多数公司环境不允许员工使用除 IE 之外的任何浏览器)或者他们太懒或太蠢。无论如何,我仍然感谢 jQuery 至少在一段时间内仍然保留一些遗留支持。
目前,我们公司已经对 IE6 和 IE7 的支持收取额外费用,最终 IE8 也将加入该行列,因为它在 JS 方面同样是噩梦。
我支持从 jQuery 中剔除冗余部分。真正需要旧版 IE 支持的人可以使用旧版本,它很可能在大多数情况下都能完美地运行,即使它不像新版本那样没有 bug。
任何在这里抱怨的人显然没有阅读整篇文章,或者跳过了几行,因为文章中并没有说他们将完全放弃对旧浏览器的支持,或者说 jQuery 以后将不再支持旧浏览器。
我认为这种架构是一个很好的举措,可惜我们得等到 2014 年才能用上 :(