当前位置: 首页 > 面试题库 >

如何强制更新单页应用程序(SPA)页面?

澹台景辉
2023-03-14
问题内容

在完全基于服务器端的呈现(非Web 2.0)中,部署服务器端代码将在页面重新加载时直接更新客户端页面。相比之下,在基于React的Single Page
Application中,即使在更新React组件之后,仍然会有一些客户端使用这些组件的旧版本(它们仅在重新加载浏览器时才获得新版本,这种情况很少发生)->如果页面如果是完全SPA,则某些客户端可能会在几个小时后才刷新页面。

应采用什么技术来确保任何客户端不再使用旧的组件版本?

更新:API不变,只有React Component被更新为更高版本。


问题答案:

您可以让React组件在应用程序加载时向您的服务器发出ajax请求,以获取 “接口版本”
。在服务器API中,您可以维护客户端版本的增量值。React组件可以将此值存储在客户端(cookie
/本地存储/等)上。当检测到更改时,它可以调用window.location.reload(true);,这将强制浏览器放弃客户端缓存并重新加载SPA。或者更好的是,通知最终用户将要加载新版本,并询问他们是否要保存工作然后重新加载等。取决于您要执行的操作。



 类似资料:
  • 在完全基于服务器端的呈现(非Web 2.0)中,部署服务器端代码将在页面重新加载时直接更新客户端页面。相反,在基于React的单页应用程序中,即使在React组件更新后,仍然会有一些客户机使用旧版本的组件(他们只在浏览器重新加载时获得新版本,这应该很少发生)->如果页面是完全SPA,一些客户机可能在几个小时后才刷新页面。 应该使用什么技术来确保旧的组件版本不再被任何客户使用?

  • 本文向大家介绍vue中SPA单页面应用程序详解,包括了vue中SPA单页面应用程序详解的使用技巧和注意事项,需要的朋友参考一下 一、SPA的概述 SPA(single page application)单页面应用程序,在一个完成的应用或者站点中,只有一个完整的html页面,这个页面有一个容器,可以把需要加载的代码片段插入到该容器中。 SPA的工作原理:   eg:  http://127.0.0.

  • 问题内容: 当我学到角度时,有两个问题困扰着我: 当用户刷新页面或点击后退按钮时,如何恢复状态? 如何在属于不同控制器的合并范围之间共享数据? 下面我展示了一个使用客户端会话存储的简单解决方案。在用户刷新页面或点击后退按钮后,它既允许共享公共数据,又可以自动恢复状态。 注意:事实证明,以下解决方案对于回答以下问题至关重要: 如何获得“后退”按钮以与AngularJSui路由器状态机一起使用? 问题

  • 问题内容: 我们正在寻找构建正在创建的应用程序前端的选项,并正在尝试评估一种对我们有用的工具,并为我们提供前进的最佳平台。 这是一个Node.js项目。我们最初的计划是使用Express并沿这条路线走,但是我们决定在开始此阶段之前,最好回顾一下那里的内容。我们的应用程序有几个我们认为不适合单页模型的领域,因为它们是从应用程序的角度关联的,而不是从一个角度来看的。 我们已经看到了一些可用于构建客户端

  • 我有一个用展览编写的应用程序,但不知道如何推送新版本。在博览会网站上,如果我从二维码运行应用程序,应用程序是正确的,但应用程序商店的本机应用程序不会更新。 我使用的步骤是1)exp build:android 2)exp publish 如何让应用程序真正更新?

  • 我们有一个信号页面应用程序,该应用程序已安装并处于活动状态。 现在我们的服务器重建应用程序,服务工作者文件正在服务器端更新。 我们的客户不知道这个新的服务人员文件,它仍然在使用旧的服务人员文件。 当它工作?如果我刷新/重新加载应用程序,新的服务工作人员正在安装。 如果服务器上的服务工作者文件正在更新,而客户端没有重新加载,我们如何刷新客户端? 可能的解决方案:我想,我需要在1小时后或其他时间进行投