加载javascript文件时,缓存是如何工作的?

加载javascript文件时,缓存是如何工作的?,javascript,jquery,Javascript,Jquery,我有一些支持ajax的选项卡。因此,每次单击选项卡时,都会加载所有数据,包括Java脚本。所以,如果他们点击标签A,然后点击标签B,最后点击标签A。所有标签A脚本将被加载两次 现在我想知道缓存是如何工作的。第二次单击选项卡A时,这些脚本的下载速度会快多少?还是会像第一次一样慢 谢谢假设有一个相当规律的加载,脚本将在第一次加载时加载,然后从缓存中提取 除非你在做一些棘手的事情 就像您可以在更传统的站点的第一个页面请求中加载一个巨大的脚本,并包含后续页面的脚本一样,但是在加载第一个页面后,浏览器(通

我有一些支持ajax的选项卡。因此,每次单击选项卡时,都会加载所有数据,包括Java脚本。所以,如果他们点击标签A,然后点击标签B,最后点击标签A。所有标签A脚本将被加载两次

现在我想知道缓存是如何工作的。第二次单击选项卡A时,这些脚本的下载速度会快多少?还是会像第一次一样慢


谢谢

假设有一个相当规律的加载,脚本将在第一次加载时加载,然后从缓存中提取

除非你在做一些棘手的事情

就像您可以在更传统的站点的第一个页面请求中加载一个巨大的脚本,并包含后续页面的脚本一样,但是在加载第一个页面后,浏览器(通常)会将其从缓存中取出


使用firebug并观察其行为。

如果加载相同的URL,浏览器将使用缓存版本。如果你想绕过缓存,每次调用url时,都要在url中添加“?”后跟一个随机字符串。

我猜实际脚本中的内容不会“更快”,对吗?@chobo2:如果浏览器正在重新解析JavaScript,即使该JavaScript驻留在缓存返回的文件中,浏览器仍然需要JIT该文件中的JavaScript。在包含JIT脚本的页面内容被丢弃后,任何浏览器都不太可能尝试保留该脚本。因此,尽管缓存的外部JavaScript文件将加快加载速度,但每次都必须对JavaScript进行JIT处理。但老实说,加载时间可能比JITing时间长很多很多。