3

ユーザーがいくつかのオプションを入力して選択できる小さな Web アプリ (1 ページしかありません) があります。入力テキストと選択は、テーブルの形式で別の div に表示されます。ここで例を参照することをお勧めします: http://jsfiddle.net/xaKXM/5/ このフィドルでは、何でも入力できます。クリックsubmitすると、テキスト入力が取得され、別のテーブルに追加されます。#configtableTable

$('#labels #labelTable tr:last').after(addmore);
$('#configtable #configtableTable tr:last').after(displaymore);

私はcherrypyをミニWebサーバーとして使用しています(したがって、主要なコードはPythonで記述されていsession ます)。 .

参考までに、私はPHP をまったく使用しておらず、すべてが 1 つのページにまとめられています。私は単にそれらを表示および非表示にします。しかし、更新後もページを表示#configtableTableしたり隠したりしたままにしたいです。#labelTableフィドルは、別のデバイスから応答を取得した後にのみこれらすべてを表示する Web アプリの一部であることに注意してください。

私が見つけたすべてのリンクが壊れているように見えるため、クッキーについてはわかりません。jQueryセッションはどうですか?私の場合は当てはまりますか?ただし、アプリケーションの例がいくつか必要です:(

さて、私の質問を締めくくります: 1. 更新後にページの状態を保存できますか? そしてどうやって?上記のどの方法を試してみる価値がありますか? 私が参照する例はありますか?または他の提案はありますか?2.ページに到達した後、単に更新または戻るを無効にすることはできますか?

事前にみんなに感謝します:)

4

1 に答える 1

5

更新や戻るナビゲーションを無効にしないでください。これはひどい考えです。ユーザーは、これらのボタンが実行するアクションについて一定の期待を持っており、変更するとユーザー エクスペリエンスが低下します。

状態の保存に関しては、セッションまたは Cookie を使用できますが、そのデータ サーバー側が必要ない場合は、クライアント側でも状態を保存できます。

たとえば、localStorageを使用できます。

または、テーブル内のデータからオブジェクトを作成し、次のJSON.stringify()ように URL に追加することもできますexample.com#stateData

どちらのオプションの場合でも、ページの読み込み時に、状態データがあるかどうかを確認する必要があります。見つかった場合は、フォームを表示する代わりに、それを使用してテーブルを再作成します。

最初の欠点は、すべてのブラウザーが localStorage をサポートしているわけではないことです。2 番目の方法の欠点は、URL には長さの制限があるため、大量のデータが予想される場合、このソリューションが必ずしも機能するとは限らないことです。

編集
Midoriは localStorage を含むほとんどの HTML5 機能をサポートしているようですが、デフォルトではオフになっています。. (私はより良い参照を見つけようとしています)。可能であれば、Midori にhtml5testを指定して、サポートされている HTML5 の機能を確認してください。

于 2013-05-15T02:08:45.843 に答える