如果使用javascript更改显示或将新的innerHTML写入页面,是否可以缓存动态网页。例如,也许某些ajax运行并从数据库中获取一些信息,然后通过重写div的innerHTML在页面上动态显示。
是否可以缓存最终的html并将其提供,而不是每次都重新创建它。 谢谢,
丹
答案 0 :(得分:0)
是的,当然。
自动完成文本输入框通常会缓存结果,因此命中退格或删除不会向服务器重新发送请求。
怎么做?只需从DOM树中读取innerHTML
并保存在某个地方,JavaScript变量甚至HTML5本地存储中。
答案 1 :(得分:0)
这实际上取决于您的网页实际上的动态,特别是如果您通过ajax请求显示与用户直接相关的信息,即“G'Day Flungabunga,澳大利亚悉尼的情况如何”。
根据我的经验,用于实现这些结果的缓存并仍然保持javascript作为核心机制的解决方案和技术变得过于复杂和脆弱。
为了实现这种行为并能够有效地缓存这些结果,我们采用了Varnish Cache及其ESI(Edge Side Includes)功能。
如果在某种程度上偏离主题,我知道这个答案,但是你可能会发现看一个不同的机制可能会给你一个更优雅的解决方案。