所以我正在使用appcache创建一个离线网络应用。 我需要在客户端和服务器之间传递一个变量。 POST不是一个选项,因为服务器可能处于脱机状态,并且appcache不会通过POST请求从缓存中提取(显式或后备) GET不是一个选项,因为它不能被appcache缓存,因为每个请求的URL都不同(?id = n)。
补充:我一直在寻找一种方法来调整已创建的HTML表单(使用POST或GET)以供离线使用,这是一种存储实际请求的方法。由于我无法找到解决appcache限制的方法,我最终重写代码以使用Indexeddb进行存储和服务工作者获取拦截和后台同步方法...更加流畅...这么长的appcache。
答案 0 :(得分:1)
根据https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache
弃用 此功能已从Web标准中删除。虽然有些浏览器可能仍然支持它,但它正在被删除。避免使用它并尽可能更新现有代码;请参阅本页底部的兼容性表,以指导您的决定。请注意,此功能可能随时停止工作。
答案 1 :(得分:0)
尝试使用sessionStorage。
每当您想要在页面上保存数据时,请使用语法
sessionStorage.setItem('name',value);
这会使数据脱机保存
然后可以使用
在任何网页上检索sessionStorage.getItem('name');
这当然只保存数据,直到标签关闭/会话结束。更永久的方法是
localStorage
......它们都使用相同的格式,但后者甚至在浏览器关闭后也会存储数据。