Javascript 使用hashbang处理多个选项卡

Javascript 使用hashbang处理多个选项卡,javascript,cookies,fragment-identifier,Javascript,Cookies,Fragment Identifier,我有一个单页应用程序,可以打开多个选项卡,每个选项卡执行不同的操作。但是,如果用户点击“刷新”或“返回”,他们将丢失正在处理的所有内容。有没有一种方法可以防止这种损失,可能是把炸薯条和饼干结合起来?例如,如果用户要刷新,他们使用的所有选项卡都将被打开备份。我建议不要使用cookie,因为cookie会给HTTP请求带来不必要的开销 尽可能使用localStorage提供对持久数据的跨浏览器支持,并回退到sessionStorage、globalStorage和userData(IE)。我建议不要

我有一个单页应用程序,可以打开多个选项卡,每个选项卡执行不同的操作。但是,如果用户点击“刷新”或“返回”,他们将丢失正在处理的所有内容。有没有一种方法可以防止这种损失,可能是把炸薯条和饼干结合起来?例如,如果用户要刷新,他们使用的所有选项卡都将被打开备份。

我建议不要使用cookie,因为cookie会给HTTP请求带来不必要的开销


尽可能使用
localStorage
提供对持久数据的跨浏览器支持,并回退到
sessionStorage
globalStorage
userData
(IE)。

我建议不要使用cookie,因为它们会给HTTP请求造成不必要的开销


提供对持久数据的跨浏览器支持,尽可能使用
localStorage
,并回退到
sessionStorage
globalStorage
userData
(IE)。

您可能需要使用
onbeforeuload
事件。此事件(顾名思义)在用户“卸载”(刷新/重定向/等)页面之前调用,它允许您警告用户他正试图离开包含未保存数据的页面

window.onbeforeunload = function(e) {
  e = e || window.event;
  var warning = 'You\'ve made changes to this page. Are you sure you don\'t want to save them?';

  if(e) {
    e.returnValue = warning;
  }

  return warning;
}
有关该活动的更详细概述,请参阅


有很多方法可以保存数据,例如
localStorage
IndexedDB
AJAX
到服务器,最后,
Cookies
,您可能需要使用
onbeforeuload
事件。此事件(顾名思义)在用户“卸载”(刷新/重定向/等)页面之前调用,它允许您警告用户他正试图离开包含未保存数据的页面

window.onbeforeunload = function(e) {
  e = e || window.event;
  var warning = 'You\'ve made changes to this page. Are you sure you don\'t want to save them?';

  if(e) {
    e.returnValue = warning;
  }

  return warning;
}
有关该活动的更详细概述,请参阅


有很多方法可以保存数据,例如
localStorage
IndexedDB
AJAX
到服务器,最后,
Cookies

没有特别的理由必须使用Cookies,您也可以使用localStorage…?必须与所有浏览器配合使用。HTML5不是一个选项,最好在下次的问题中提到:)没有特别的理由必须使用cookie,你也可以使用localStorage…?必须与所有浏览器配合使用。HTML5不是一个选项,下次提问时最好提一下:)