为每个html页面使用单独的javascript文件?

时间:2011-09-15 08:32:37

标签: javascript jquery html caching browser

通常,主页面的javascripts比其他页面重。例如,我们将jQuery幻灯片放在主页面中,而不是在其他页面中使用。是否有必要为主页和单个页面创建不同的s以仅包含操作中的javacript文件?

或者在第一页上阅读的所有javascript文件都会被缓存用于浏览网站,而在加载一个单独的页面时,浏览器不会读取幻灯片的javascript?

这个问题的另一种形式是:如果我在每个页面上放置幻灯片,浏览器每次都会加载幻灯片javascript文件,还是会从其缓存中读取(保存在访问者的计算机上)?

4 个答案:

答案 0 :(得分:1)

像florian h所说,大多数浏览器会缓存内容(除非使用开发工具)。

如果您只在一个页面上使用幻灯片javascript,我建议将其放在单独的文件中。这有一个缺点,最常见的是http请求在加载文件时花费的时间最长。

因此,如果您有一个1mb的javascript文件,并且您需要大多数页面上的所有javascript,那么最好使用4个250kb的较小文件。因为您的浏览器需要执行4个单独的请求。

当然,这可能是几毫秒性能利润的差异,因此您可能希望选择在单独的文件中进行,以提高可维护性。

答案 1 :(得分:0)

几乎所有浏览器都会缓存javascript文件,因此不应为子页面创建不同的版本。

但是如果你有非常大的JS文件,那么只包括那些你真正需要的文件当然是合理的。

答案 2 :(得分:0)

所有文件都根据文件路径在浏览器中缓存。

如果您在一个页面中包含javascript,则该文件将被缓存,并且当您浏览其他页面时不会再次下载该文件。

除非你想要它;)

答案 3 :(得分:0)

是的,js文件将被缓存(如果没有另外说明)。

但是,必须处理js文件,并且可能包含您不需要的初始化逻辑。此外,每个加载外部js的脚本标记都会阻止任何其他“http线程”,这意味着图像,css文件......将停止加载,直到加载js文件,否则你将有几个并行(同时)加载资源。

我会为不同的页面使用不同的脚本。

对于您的情况,它可能是一个问题,也可能不是。您应该对您的案例进行一些测试,看看您是否有性能问题。如果没有为不同页面设置不同脚本的方便性可能会更好。