我对Web开发比较陌生。如果您正在创建前端 JS 应用程序,页面刷新是否总是会导致新的 JavaScript 程序?在页面重新加载期间,是否可以保持相同的 JavaScript 运行时运行?我知道有很多解决方案可以在页面重新加载之前/期间/之后将数据保留在前端......但是整个前端程序呢?我知道单页应用程序是解决这个问题的一种解决方案,但我特别好奇在页面重新加载/刷新后保持相同的 JavaScript 运行时。
似乎对于像Chrome应用程序或Cordova应用程序这样的HTML5应用程序,这不需要页面刷新,因为它们不在浏览器中使用。话虽如此,为什么当有人访问您的网站并(意外)刷新页面等时,无法禁用页面刷新或找到一种不必重新加载前端 JS 程序的方法?
是的,每次刷新都会从一个新的 js 环境开始。浏览器非常快,下载应用程序脚本通常比运行 js 代码花费更长的时间。将数据保存在某处并缓存脚本,它会感觉很活泼。
需要了解的一些有用事项:
- pushState 和 popState(模拟更改单页应用的页面)
- 本地存储(在页面加载之间保存数据)
-
beforeunload
、unload
和close
窗口事件 - 应用平台(Firebase、Parse)
- 服务器和数据库框架(参见Ruby On Rails,Node.js等)
您可以使用本地存储来执行此操作。运行初始化,这是第一次初始化或状态加载。当Javascript运行时,保存每个状态更改。当页面重新加载时,您将重新加载状态并像没有发生页面加载一样工作。
在此处阅读有关本地存储的信息。
您还可以将状态存储在服务器上。基本上Javascript在页面加载时一次又一次地运行,但你可以控制它的运行方式,你可以保持状态。