客户端是否可以在服务器端请求后存储网页的本地副本,而无需手动保存网页(右键单击+另存为...)?
我有多个客户端显示来自服务器的网页循环。每个页面都有不同的媒体文件,例如图像和 swfs。作为默认缓存机制的替代方案,我希望客户端在从服务器首次加载网页期间,将网页的副本存储到客户端的本地。这样,每次循环加载网页请求时,我都可以减少来自客户端的请求。
每当内容发生变化时,服务器会告诉客户端再次请求页面并覆盖客户端的本地副本。
客户端是否可以在服务器端请求后存储网页的本地副本,而无需手动保存网页(右键单击+另存为...)?
我有多个客户端显示来自服务器的网页循环。每个页面都有不同的媒体文件,例如图像和 swfs。作为默认缓存机制的替代方案,我希望客户端在从服务器首次加载网页期间,将网页的副本存储到客户端的本地。这样,每次循环加载网页请求时,我都可以减少来自客户端的请求。
每当内容发生变化时,服务器会告诉客户端再次请求页面并覆盖客户端的本地副本。
好吧,你可以这样做:
localStorage['this_page'] = document.querySelector('html').innerHTML;
当然,这只适用于支持 localStorage 的现代浏览器。没有其他浏览器 API 可以提供存储大量数据的方法。饼干太小了。您可以使用 window.name 作为替代方案,但这更像是一种黑客攻击。
document.querySelector 当然可以用 document.getElementsByTagName('html')[0] 替换,但只要使用 querySelector,因为它在任何地方都支持 localStorage。