对此感到好奇,是否有可能缓存javascript?也就是说,每次刷新浏览器时,最小化重新计算某些逻辑所需的客户端CPU?
以google javascript地图为例。当我在我的页面上浏览地图时,我的页面上是否有可以使用的缓存机制?
答案 0 :(得分:3)
基于每个页面加载,将执行JavaScript执行。另一种方法是通过首先检查在执行计算之前是否已经计算了值来更改调用JavaScript的方式。要实现此目的,您需要将计算值存储在某种形式的状态中,例如session,URL作为查询字符串参数,或者存储在cookie中。这将确保第一次加载页面时,计算并存储该值。对于每个后续页面加载,该值将从状态中拉出而不是重新计算。
答案 1 :(得分:2)
客户端可以在本地缓存.js
文件(防止其下载),但是每次加载都会执行所述文件执行的操作。
对于谷歌地图,它需要执行其操作以显示地图。除了让客户端缓存.js
文件(从而保存下载)之外,您无能为力。
您可以做的最好是限制客户端需要处理的处理量,或者如果处理结果是标量(字符串,数字,数组),您可以将其存储在cookie中供以后使用。 DOM操作在每次加载时完成。
尽可能在服务器上进行所有繁重的处理。
答案 2 :(得分:1)
您无法缓存编译Javascript的结果,但您可以避免在需要时加载部分应用程序逻辑 - 也就是说,在您需要某些逻辑时,添加一个新的< script>通过DOM标记您需要的功能。
答案 3 :(得分:0)
我认为你在谈论javascript加载的图片,来自google的服务器?
每个细节级别都有一个巨大的图像网格,并且在逻辑上对缓存这些图像没有意义。在谷歌地图中滚动几分钟后,你会有足够的图像来填满你的硬盘几次!
有些浏览器不像其他浏览器那样处理javascript。 Firefox暂时落后,但Google Chrome和Safari都非常快。 Safari值得下载,因为它的开发工具将向您显示正在发生的事情。