2

我对 Web 开发比较陌生。如果您正在创建一个前端 JS 应用程序,是否总是页面刷新会引发一个新的 JavaScript 程序?是否可以在页面重新加载期间保持相同的 JavaScript 运行时运行?我知道有很多解决方案可以在页面重新加载之前/期间/之后将数据保存在前端......但是整个前端程序呢?我知道单页应用程序是一个解决方案,但我特别好奇在页面重新加载/刷新后保持相同的 JavaScript 运行时。

似乎对于 Chrome 应用程序或 Cordova 应用程序等 HTML5 应用程序,这不需要页面刷新,因为它们不在浏览器中使用。话虽如此,当有人访问您的网站并(意外)刷新页面等时,为什么不能禁用页面刷新或找到不必重新加载前端 JS 程序的方法?

4

2 回答 2

2

是的,每次刷新都会让你开始一个新的 js 环境。浏览器非常快,下载应用程序脚本通常比运行 js 代码需要更长的时间。将数据保存在某处并缓存您的脚本,它会感觉很敏捷。

一些有用的东西要学习:

  • pushState 和 popState(模拟单页应用程序的更改页面)
  • localStorage(在页面加载之间保存数据)
  • beforeunload, unload, 和close窗口事件
  • 应用平台(Firebase、Parse)
  • 服务器和数据库框架(参见 Ruby On Rails、Node.js 等)
于 2015-06-12T19:40:52.880 回答
1

您可以使用本地存储来完成。您运行一个初始化,它可以是第一次初始化,也可以是状态加载。在运行 Javascript 时,保存每个状态更改。当页面重新加载时,您将重新加载状态并像页面加载没有发生一样工作。

在此处阅读有关本地存储的信息。

您还可以将状态存储在服务器上。基本上 Javascript 在页面加载时会一次又一次地运行,但是您可以控制它的运行方式并且可以保持状态。

于 2015-06-12T19:33:13.993 回答