发布后如何刷新用户站点内容

118次阅读
没有评论

问题描述

在使用Angular / Web Api 2构建的站点中遇到一个问题。他使用ui-router实现单页应用程序的行为,并使用gulp进行文件转换。问题是,当他发布站点后,用户必须刷新浏览器才能查看新内容。尽管他已经在js / css文件上实现了缓存破坏,但似乎HTML视图本身仍然存在问题。他想知道如何使技术栈刷新用户的内容,以便用户在发布后能够获得最新版本的站点。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

我们可以通过以下方法来解决这个问题:
1. 在应用程序中部署一个”version”文件。
2. 然后,应用程序定期发送一个”check version”请求,检查初始加载的版本与版本文件中指定的版本是否不同。
3. 如果不同,我们显示一个通知,告知用户有一个新版本可用,并建议刷新浏览器窗口以获取最新版本。

这种方法类似于Google Inbox的做法。他们定期发送一个名为”checkJsVersion”的请求,如果有新版本的Web应用程序可用,他们会在左下角显示一个信息框,上面有一个”New version is available, hit Refresh to get it”按钮。

方案2

还有一种不同的方法,即从服务器向客户端推送有关新应用程序版本的信息。这种方法可以使用一些推送技术来实现,例如WebSocket或长轮询。

根据用户的评论,他们也喜欢提示用户在适当的时候刷新页面,而不是强制刷新。

总结

在发布后刷新用户站点内容的问题上,我们提供了两种解决方案。方案1是在应用程序中部署一个”version”文件,并定期发送”check version”请求来检查新版本的可用性。方案2是使用推送技术从服务器向客户端推送新版本的信息。根据用户的评论,他们也喜欢提示用户在适当的时候刷新页面,而不是强制刷新。

请根据您的具体需求选择适合您的解决方案。

正文完