在网站上全局加载脚本

3
我有一个网站,其中包含某种需要30行脚本的插件。由于该插件是标头的一部分,因此存在于整个站点页面中(目前只有两个页面)。我想知道是否有方法可以避免每次从一个页面切换到下一个时执行那个30行长的脚本,因为标头是相同的,从而提高加载时间。(如果您说30行代码对于浏览器来说微不足道,那么我的问题就得到了回答)

这取决于这30行代码是什么!它可能是不重要的,也可能是非常耗费资源的(例如,迭代一个大集合可能代码不多,但占用大量 CPU 时间)。 - BLSully
1个回答

4

不用担心,脚本将被浏览器缓存,不会再次下载。关于30行代码是否很多:这取决于这些代码所做的事情!只用几行甚至一行代码就可以编写非常昂贵的代码。


4
这段话的意思是:对于原帖作者的好处,我要补充一点,即使“源”已经被缓存,每次加载页面时它仍会执行(因为执行上下文在页面之间不会保留,即使在同一个网站上也是如此)。如果你想保持JavaScript的状态,请考虑通过ajax加载页面并使用History API。 - BLSully
谢谢BLSully。我实际上有一个使用ajax加载的网站,但我的问题是你不能链接到example.com网站上的内容,因为你总是在example.com/#。bfavaretto说脚本被缓存了,30行代码可能不多,所以现在我不担心了。非常感谢你们两位! - Nico
1
@Nico 只是为了澄清,当我说它被缓存时,我的意思是它不必再次下载,但它必须在每次页面加载时执行(从缓存中)。如果整个站点是基于 Ajax 驱动的,则情况并非如此,但这也带来了自己的问题,正如您可能已经注意到的那样。 - bfavaretto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接