多个选项卡我有一个单页的应用程序,可以有多个标签,每个标签做不同的动作打开。但是,如果用户点击刷新或返回,他们会失去他们正在处理的所有内容。有没有办法,可能是结合了hash-bangs和cookie,以防止丢失?例如,如果用户要刷新,则他们使用的所有选项卡将被打开。处理与hashbang
0
A
回答
2
我建议不要饼干,因为它们导致不必要的开销到HTTP请求。
AmplifyJS
提供跨浏览器支持用于持久性数据,使用localStorage
尽可能与回退到sessionStorage
,globalStorage
和userData
(IE)。
1
您可能需要使用onbeforeunload
事件。这个事件在用户“卸载”(刷新/重定向/等)之前调用(顾名思义),它允许你警告用户他试图摆脱未保存数据的页面。
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;
}
查看MDN Docs了解有关该事件的更详细概述。
有大量的方法来保存数据,如localStorage
,IndexedDB
,AJAX
到服务器和(最后)Cookies
。
+0
这可能是我会做什么。谢谢。 – LordZardeck 2012-03-18 21:26:36
相关问题
- 1. 在asp.net中处理hashbang(#!)mvc3(路由)
- 2. 与hashbang锚,preventDefault
- 3. Hashbang与URI解析
- 4. 角度哈希与Hashbang
- 5. 重定向hashbang与history.js
- 6. 使用angular-ui-router处理没有hashbang的路由
- 7. 如何处理Facebook分享/像hashbang网址?
- 8. 处理与Python多处理
- 9. jQuery无法识别的表达与hashbang
- 10. NGINX hashbang重写
- 11. Superfish和hashbang
- 12. 处理与jQuery
- 13. 处理与tuio
- 14. PerformanceCounter与处理
- 15. 与处理器
- 16. 处理与XSLT
- 17. Sql处理与ASP.NET运行时处理
- 18. mouseDown事件处理与主要处理
- 19. Angular2 rc.5和hashbang
- 20. 什么是shebang/hashbang?
- 21. Apache hashbang url问题
- 22. Hashbang逃到片段
- 23. 与Python多处理
- 24. Firefox与IE:innerHTML处理
- 25. 拖放与处理
- 26. 处理与Newtonsoft JSON
- 27. 如何处理与[]
- 28. 与未处理HttpException
- 29. 处理与的WebPack
- 30. 处理JS与jQuery
没有特别的原因不得不使用cookie,你也可以使用localStorage的......? – dmp 2012-03-18 21:17:24
必须与所有浏览器一起使用。 HTML5是不是一种选择 – LordZardeck 2012-03-18 21:20:23
这会是很大的下一次这个问题提:) – Saebekassebil 2012-03-18 21:25:27