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