Javascript 为什么网络浏览器不';你没有内置jQuery吗?

Javascript 为什么网络浏览器不';你没有内置jQuery吗?,javascript,jquery,browser,Javascript,Jquery,Browser,我觉得这是个好主意。或者将附加功能添加到Javascript本身?jQuery的存在仅仅是因为他们(浏览器制造商)无法就通用标准达成一致。还有版本控制问题。jQuery的某些站点和扩展需要特定版本的jQuery。现在由应用程序决定要使用哪个版本。可以考虑jQuery是JavaScript插件。浏览器不附带插件,否则插件的用途就无关紧要了。可能是因为浏览器很难更新。JQuery的某些特性最终可能会进入javascript,我相信其中一些特性最近才出现。(不管怎么说,这个想法是正确的)向javasc

我觉得这是个好主意。或者将附加功能添加到Javascript本身?

jQuery的存在仅仅是因为他们(浏览器制造商)无法就通用标准达成一致。

还有版本控制问题。jQuery的某些站点和扩展需要特定版本的jQuery。现在由应用程序决定要使用哪个版本。

可以考虑jQuery是JavaScript插件。浏览器不附带插件,否则插件的用途就无关紧要了。

可能是因为浏览器很难更新。JQuery的某些特性最终可能会进入javascript,我相信其中一些特性最近才出现。(不管怎么说,这个想法是正确的)向javascript这样的东西添加一个特性需要几年的时间,JQuery库只需发布一个新版本


实际上有一个firebug或firefox插件,允许您将JQuery注入页面。。但这只是一个开发工具,因为它只是众多库中的一个。它可能很受欢迎,但远不是唯一的选择。而且这也会导致它在某个特定的版本上冻结,并使改进速度大大减慢


此外,这也没有什么好处。它相当小,您可以将其设置为浏览器无法定义,因此无论如何只能下载一次-如果您有新版本,它将有一个新文件名,因此,让它永不过期并无害处。

插件比浏览器更新得更频繁-一周之内,jQuery的浏览器版本就会过时:)

我认为这个问题应该是一个更大的讨论,但这些答案都是假的。 当然,这也是两年后的事了

  • “这只是一个图书馆的许多”-包括当时
  • “不能在通用标准上达成一致”-在这一点上使jQuery成为自己的标准
  • “更新频率高于浏览器”或“改进速度较慢”-因此浏览器在下一次浏览器更新之前不会有jQuery-1.9.x,只是暂时不要将其放在项目中
  • “无论如何,缓存”-当然,这仍然是一个不必发生的传输,而且还有很多人没有在他们的新设备上进行过很多冲浪,你仍然希望你的站点能够快速运行,等等
  • 问题是,这是完全可行的,并将更好地为互联网负载;多少是有争议的。我真的可以看到chrome至少用一个本地副本取代了任何网络传输到CDN的功能,但我确信这会带来一些法律、安全或网络中立性问题。就像我确信主要原因与这些事情有关,而不是这些显然没有经过深思熟虑的蹩脚的技术借口


    如果开发人员能够依赖于像dojo这样的完整工具库的速度和可用性,而不必仅仅为了减轻重量而进行挑选,那么这也会使其他库受益。而且,由于大多数库都采用AMD或requireJS方法来打包它们的项目,我认为有一个很好的理由可以让浏览器至少知道它的依赖关系。

    将jQuery[type]功能添加到浏览器的内置JS实现中(或使其成为一流插件)将克服一个基本问题:

    正如许多人所说,jQuery是一个JS库——这意味着,万一钱没有掉下来——它是用JS编写的,必须在运行时进行解释


    嵌入它意味着它可以用操作系统的本机代码编写,使其性能更高。

    但您可以设置一个类似于HTML文档类型的声明系统,并在浏览器安装中包括各种版本库——唯一的问题是jQuery版本和浏览器版本之间的延迟support@HorusKol-我也不认为滞后是个问题。浏览器的实际功能与库无关,因此每当库的新版本发布时,它都可以自动更新。浏览器供应商不需要推送软件更新就可以做到这一点。你知道该插件的名称吗?超级有用@Psytronic:我想他指的是非常感谢你,这样我就不用导航到我知道使用它的网站了。此外,如果使用“全局”CDN(如google one)来交付jQuery库,那么jQuery很可能已经存在于浏览器的缓存中(因为其他人都在使用相同的CDN)所以这几乎没有任何好处。是的,说得好。我忘了这一点,我说这更多的是关于标准的不完整实现和技术的出现,而不是最初的,或者根本不是任何标准的一部分。此外,还有一些方法比标准提供的方法更方便,例如围绕getElementById的包装器。@George Yup,但我没有提到他们为什么不同意。不幸的是,同样的机制使得JS发展如此之快,这也导致它确实很难普遍使用,以至于它现在需要框架。CSS也是如此……“我真的可以看到[浏览器]至少用本地副本取代了[某个URL]的任何网络传输”-他们已经这样做了。它被称为HTTP缓存,所以浏览器在下一次浏览器更新之前不会有jQuery-1.9.x,只是暂时不要把它放在你的项目中。更好的是:浏览器每天/每小时/等刷新其库。无需更新整个浏览器。