jQuery and Chrome Extensions

jQuery and Chrome Extensions

本文关键字:Extensions Chrome and jQuery      更新时间:2023-09-26

在Chrome扩展中使用jQuery作为JavaScript库是否明智?jQuery和其他DOM库旨在隐藏浏览器之间的差异,因为我只针对Chrome,我应该使用它吗?

没有理由不使用jQuery在您的扩展页面之一(背景,弹出,选项等)。您应该始终使用本地jQuery副本,而不是通过http加载远程托管的jQuery副本。

如果可能的话,我建议不要将jQuery作为内容脚本注入。如果你所需要的只是一些简单的选择器或事件监听器,那么在每次页面访问时注入大约100kb的js代码就有点多余了。

我用它为我的Chrome扩展,我认为它是非常聪明的。jQuery不仅仅是隐藏差异。它有很多特性,可以让您更快、更健壮地编写代码。有大量的扩展允许您扩展脚本。我认为如果使用它会伤害到你自己!

除了更快地编码和"不重新发明轮子(不必要的)"-可能会有一个时候,当你需要工作的东西除了Chrome扩展。

jQuery使您更容易在其他平台或不同情况下重用这些工作。

最后,通过使用标准库,其他人将能够更容易地帮助、改进或完全信任代码。(它不会只属于你,永远,如果它是好的。)

不,你不应该使用jQuery Chrome扩展。

jQuery是相当大的,它的绝大部分是支持其他浏览器,一些你只是不需要关心的扩展。

例如,你根本不需要Sizzle引擎(使用document.querySelector),尽管它在IE6-8中非常有价值。你不需要标准化的事件处理程序,因为你根本不支持IE或Opera(使用element.addEventListener)。当Chrome原生支持Promise时,你不需要jQuery的延迟实现。当你有fetch时,你不需要$.ajax。还有很多。

此外,jQuery不支持很多现代特性,例如,你不能使用被动事件处理程序或异步加载脚本(它甚至不支持defer)。

当前选择的答案也指出:jQuery的注入成本很高。用最少的代码优化到你真正需要的东西是值得的。

作为任何工具箱扩展(jQuery, Underscore等)的一般规则,总是在没有它们的情况下开始,只有在您发现需要它们时才将它们引入。如果你发现你需要一个框架,考虑更现代的利用新功能的框架(你可以依靠Chrome),而不是那些旨在标准化浏览器之间代码的框架。仔细考虑一下你需要从一个框架中得到什么——如果只是你知道并且喜欢jQuery,那么很好(如果你/你的团队学习新东西的成本很高,熟悉可以是一个理由),但是你应该意识到在这个决定中相关的注入和执行成本。

jQuery是一个具有广泛支持的非常好的工具包,它只是不是适合 chrome扩展的工具。