2012-03-18 12 views
0

私は、複数のタブを開いて、それぞれのタブでさまざまな操作を行うことができる単一のページアプリを持っています。ユーザーがリフレッシュまたはバックをヒットした場合、ユーザーは作業中のすべてを失います。損失を防ぐために、おそらくハッシュバングとクッキーを組み合わせた方法がありますか?たとえば、ユーザーが更新する場合、使用していたすべてのタブがバックアップされます。複数のタブをハッシュバンで扱う

+0

クッキーを使用する特別な理由はありませんが、localStorage ...を使用することもできます。 – dmp

+0

はすべてのブラウザで動作する必要があります。 HTML5はオプションではありません – LordZardeck

+0

次回の質問で言及することは素晴らしいでしょう:) – Saebekassebil

答えて

2

クッキーに対しては、HTTPリクエストに対する不要なオーバーヘッドが発生するため、これをお勧めします。

AmplifyJSsessionStorageglobalStorageuserDataにフォールバック(IE)と、localStorage可能であればを使用して、永続的なデータのクロスブラウザのサポートを提供します。

1

おそらくonbeforeunloadイベントを使用します。このイベントは、ユーザーがページをアンロード(リフレッシュ/リダイレクト/ etc)する直前に(名前が示すように)呼び出され、保存されていないデータからページから離れようとしていることをユーザーに警告できます。

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、サーバーへIndexedDBAJAXと(最後に)Cookiesの多くがあります。

+0

これはおそらく私がやることです。ありがとう。 – LordZardeck

関連する問題