1

我有一个 jqm 多页文档(index.html),其中包括几个页面和其他资产(js、css 等)。我将服务器配置为对 html、css 和 js 文件使用 etags。请求/响应标头已正确设置,并且按预期工作。

在使用我的应用程序期间,没有对 index.html 的请求(除了注销),因此浏览器永远没有机会查看是否有新文件,更不用说所有的 css 和js 文件(除非用户注销、再次请求页面或进行刷新)。如果我部署新软件,我如何通知用户新软件可用和/或以某种方式强制刷新 index.html 文件?

我最初的想法是将版本号存储在客户端上,并定期向服务器发出 ajax 请求以检查版本号。如果有新的 sw 可用,则显示一个链接以通知用户新的 sw 并单击该链接以获取它(重新加载 index.html)。

我很好奇其他人是怎么做到的?想法?建议?

4

1 回答 1

-1

如果您链接到多页文档,则必须在链接上使用 data-ajax="false" 属性以导致整个页面刷新,因为上述限制我们仅加载 Ajax 请求中的第一个页面节点,因为潜在的哈希冲突. 当前有一个子页面插件,可以加载多页文档。

参考:http: //jquerymobile.com/demos/1.1.0/docs/pages/page-navmodel.html

还请看这个:

不使用 Ajax 导航的情况

在某些情况下,将使用普通的 http 请求而不是 Ajax 请求。一种情况是在链接到外部网站上的页面时。您还可以通过以下链接属性指定进行正常的 http 请求:

相对=外部

目标(具有任何值,例如“_blank”)

如果页面加载为 http 请求而不是 Ajax,则问题将得到解决。

于 2012-05-10T08:17:16.207 回答