Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Js库导入浏览器_Javascript - Fatal编程技术网

Javascript 将Js库导入浏览器

Javascript 将Js库导入浏览器,javascript,Javascript,因为网络浏览器想要让网络更快 我知道谷歌有他的托管库。但是为什么不直接将它们集成到浏览器上呢 现在的问题是,如果你从一个有jQuery的页面导航到另一个有jQuery的页面,因为url是不同的,那么相同的js会被缓存到那个特定的url中。因此,在具有相同库的页面之间导航时,加载时间会更长 他们不能在浏览器中保存大多数已知库,以便在加载jQuery或jQuery min时,它首先在浏览器中搜索它 专业人士 -更快的网络导航。 -如果找到要加载的库,则减少1个http请求 缺点 该版本可能会出现一些

因为网络浏览器想要让网络更快

我知道谷歌有他的托管库。但是为什么不直接将它们集成到浏览器上呢

现在的问题是,如果你从一个有jQuery的页面导航到另一个有jQuery的页面,因为url是不同的,那么相同的js会被缓存到那个特定的url中。因此,在具有相同库的页面之间导航时,加载时间会更长

他们不能在浏览器中保存大多数已知库,以便在加载jQuery或jQuery min时,它首先在浏览器中搜索它

专业人士

-更快的网络导航。
-如果找到要加载的库,则减少1个http请求

缺点

该版本可能会出现一些问题。由于大多数文件都有类似于
jquery.min.js
的名称,如果它们有相同的名称,我们不能简单地加载它们,另一方面,一些文件有
/1.11.0/jquery.min.js
,因此浏览器可以尝试用url查找版本。如果浏览器找不到版本,只需加载文件即可

你觉得怎么样?有没有关于如何工作的建议?还有其他的缺点吗


Edit1:我知道CDN。我只是建议一种比CDN稍微快一点的方法,在同一个进程上执行一个http请求。

正如您所提到的,使用常用CDN可以避免这个问题

然而,我认为将它们集成到浏览器中可能会带来一个真正的版本控制问题。想想IE版本之间的间隔有多长。如果你不得不等那么长时间才能下载和缓存新版本的库,那将是一场灾难

此外,您还必须下载各种各样的库,以覆盖您的基础

下载库通常不是很慢,在移动设备上解析和执行库需要更长的时间

这是一篇关于这个话题的好文章


这确实是一个好主意,应该为桌面和手机浏览器引入,其中对于移动设备,大量的js库可能为1-2mb,但这将节省大量网络带宽并增强用户体验,这就是所谓的缓存。托管在CDN上的常用库通常已经缓存。如果在jquery.com中刷新缓存,它仍会加载库,因此您仍需加载一次才能将其放入cache@Marcio浏览器必须做同样的事情,以确保其缓存中始终包含所有最新版本和所有新库。在我看来,希望浏览器提供更大更好的缓存机制(已经在进行中)将产生更好的结果;或者说服所有人使用托管版本来更好地利用已经可用的缓存。不过我还是很喜欢这个想法。您如何决定使用浏览器[jsdb.io][1]预安装的库目前列出了约700个不同的JS库,如果您将它们全部添加到您的安装程序中,它们将是一个巨大的补充。如果你不把它们全部加进去,你就给了你选择的那些不公平的优势,这将扼杀开发者的选择,扼杀图书馆领域的创新。你可能会说,但至少要加上jQuery,92%的互联网用户都在使用它,但10年前原型的渗透率可能也差不多(好吧,也许没那么高,但它无处不在)。[1] :我不是说它应该只从浏览器加载它们,我只是建议一种缓存一些库的方法,如果他找到了,他就从浏览器加载,如果他没有找到,他就下载。这只是比CDN稍微快一点的方法。一个http请求更少。