Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.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文件是否会导致更多客户端处理?_Javascript_Html_Css_Browser_External Js - Fatal编程技术网

不';外部JavaScript文件是否会导致更多客户端处理?

不';外部JavaScript文件是否会导致更多客户端处理?,javascript,html,css,browser,external-js,Javascript,Html,Css,Browser,External Js,我在考虑外部HTML文件,我突然想到,如果我将几个HTML页面中的函数分组到一个JavaScript中,这将导致额外的客户端处理 基本上,我想知道这是否正确 这是我的想法。假设我有一个用于五页的JavaScript文件。如果用户进入每个页面,对于每个页面,他不仅要加载该页面的JavaScript,还要加载其他四个页面的JavaScript。最后一个总数是用户的浏览器加载的JavaScript大约是正常情况下的5倍 我认为大多数人都是根据共同的功能来分组的。因此,您可以使用包含多个页面的JavaS

我在考虑外部HTML文件,我突然想到,如果我将几个HTML页面中的函数分组到一个JavaScript中,这将导致额外的客户端处理

基本上,我想知道这是否正确

这是我的想法。假设我有一个用于五页的JavaScript文件。如果用户进入每个页面,对于每个页面,他不仅要加载该页面的JavaScript,还要加载其他四个页面的JavaScript。最后一个总数是用户的浏览器加载的JavaScript大约是正常情况下的5倍

我认为大多数人都是根据共同的功能来分组的。因此,您可以使用包含多个页面的JavaScript文件,但是您可能不会在每个页面上使用所有JavaScript。因此,不在每个页面上使用的所有JavaScript都可以在不需要的情况下运行/加载

我有一个子问题。我知道您不必为每个页面重新加载JavaScript文件。JavaScript文件是否每次都运行?JavaScript是否重新加载?我所说的重新加载,是指每次浏览必须从缓存中取出文件时,会出现什么样的超负荷情况

谢谢,
Grae

如果我有一个200行的文件,并将其分成5个文件,每个文件40行,那么总行数保持在200行,但是。请记住,如果我在上一页上拉取了文件1-4,我现在只需要拉取文件5,因为1-4在我的缓存中。此外,大多数现代浏览器都会对这些请求进行线程化处理,因此我得到的不是单个文件的单个大文件下载,而是5个较小文件的线程化下载


浏览器的开销取决于浏览器的处理方式,具体到具体的实现方式,超出了我的想象。

如果我有一个200行的文件,并将其分为5个文件,每个文件40行,那么总行数仍然是200行。请记住,如果我在上一页上拉取了文件1-4,我现在只需要拉取文件5,因为1-4在我的缓存中。此外,大多数现代浏览器都会对这些请求进行线程化处理,因此我得到的不是单个文件的单个大文件下载,而是5个较小文件的线程化下载

浏览器的开销在如何处理它方面是非常特定于浏览器的,而在具体的实现方面则超出了我的想象

用户进入每个页面,对于每个页面,他不仅要加载该页面的JavaScript,还要加载其他四个页面的JavaScript

如果缓存设置正确,则情况正好相反:在用户访问站点开始时,仅加载一次文件。在大多数情况下,要加载的数据总量将减少

所有四个页面的JavaScript代码都会以某种方式加载到浏览器的内存中,甚至可能是预解析的(我不知道具体细节),但脚本处理的这一部分完全可以忽略不计

如果JS库在每四个页面上完全分开并且非常大,那么将JS库拆分为块仍然是明智的做法——这取决于脚本的结构。但大多数情况下,拥有一个外部文件,因此第一次有一个稍微大一点的请求,但之后没有,是更好的方法

对于您的子问题,请查看Firebug的“网络”选项卡。它将向您显示它加载了哪些资源,从何处加载,以及处理这些资源所需的时间

用户进入每个页面,对于每个页面,他不仅要加载该页面的JavaScript,还要加载其他四个页面的JavaScript

如果缓存设置正确,则情况正好相反:在用户访问站点开始时,仅加载一次文件。在大多数情况下,要加载的数据总量将减少

所有四个页面的JavaScript代码都会以某种方式加载到浏览器的内存中,甚至可能是预解析的(我不知道具体细节),但脚本处理的这一部分完全可以忽略不计

如果JS库在每四个页面上完全分开并且非常大,那么将JS库拆分为块仍然是明智的做法——这取决于脚本的结构。但大多数情况下,拥有一个外部文件,因此第一次有一个稍微大一点的请求,但之后没有,是更好的方法


对于您的子问题,请查看Firebug的“网络”选项卡。它将向您显示它加载了哪些资源,从何处加载,以及处理这些资源所需的时间

最好将所有页面的javascript打包到一个文件中。对于连续请求,浏览器将缓存该文件,而不会再次下载该文件。原因是,对于服务器和客户端来说,发出web请求比客户端解析javascript文件要昂贵得多

如今浏览器速度如此之快,您不必担心客户端必须加载一些可能不用于特定页面的额外javascript


为了使您的站点快速运行,您应该将请求量保持在绝对最小值。

最好将所有页面的javascript打包到一个文件中。对于连续请求,浏览器将缓存该文件,而不会再次下载该文件。原因是,对于服务器和客户端来说,发出web请求比客户端解析javascript文件要昂贵得多

如今浏览器速度如此之快,您不必担心客户端必须加载一些可能不用于特定页面的额外javascript


要使您的站点快速运行,您应该将请求量保持在绝对最小的水平。

我并不是真的在考虑下载时间。我只考虑客户端处理。只要您的脚本是纯库,不执行代码,就不会有太多客户端处理。从缓存加载总是比发出请求更快;浏览器所做的任何预解析、字节码缓存等都应该是negli