2

これは些細な機能だと思いましたが、それを理解しようとしてかなりの髪の毛を失いました。選択メニューのあるjqueryモバイルWebページがあります。ユーザーはドロップダウンリストの項目をクリックし、後でリンクをクリックして別のページに移動します。次に、ユーザーは戻るボタンをクリックします。望ましい結果は、選択されたアイテムが選択されたままになることです。現在、選択は失われ、デフォルトでリストの最初の要素に戻ります。

私が試したこと:1)自動ポストバックでasp.netドロップダウンリストを使用します。これにより、選択したオプションは保持されますが、ページ全体がポストバックされるため、ページがちらつきます。

2)更新パネルでasp.netドロップダウンリストの上にラップします。これにより、ちらつきはなくなりますが、jqueryモバイルスタイルが一掃されます。また、jquery createイベントを発生させることでいくつかの推奨される回避策を試しましたが、何も機能しませんでした。

3)javascriptのselect changeイベントにCookieを書き込み、asppage_loadイベントでそれらを読み取ります。ただし、戻るボタンがクリックされたときにpage_loadは呼び出されないため、これは効果がありませんでした。

4)Webページメソッドへのjquery ajaxリクエストを作成しようとしましたが、メソッドは静的である必要があるため、ページを変更するために取得できません。

他のアイデアはありますか?それは私だけですか、それともこれは本当に何百万回も解決された問題である必要がありますか?

参考までに、私はWebプログラミングの初心者なので、答えがあれば詳しく説明してください:)(c ++ /データベースのバックグラウンドから来ています)。

ありがとう!

4

1 に答える 1

1

場合によっては、日付スクローラーでさえ戻るボタンに耐えられなかったことがわかります。たとえば、ユーザーが別のサイトに移動し、戻るボタンを使用してjqueryモバイルサイトに戻ると、javascriptdomの操作はすべて失われます。解決策は簡単ではありません。HTML 5ローカルストレージを使用して、ページの状態を維持するために必要なすべてのものを保存します。jqm show pageイベントで、すべてのグローバル変数が完全に消去されたかどうかを検出し、消去された場合は、ローカルストレージから状態を再読み込みします。完全に機能しますが、それはかなりの実装タスクです。そしてもちろん、ローカルストレージが基盤となるブラウザでサポートされていない場合、すべてがバラバラになります。

于 2012-12-07T19:41:36.477 に答える