ブラウザの履歴を処理する満足のいく方法が見つかりません。確かにHistory.jsのような素敵なプラグインがあります。しかし、例を挙げましょう:
ユーザーにさまざまなことを尋ねる複数ページのフォームがあります。次のページに送信するたびに (実際には同じで、HTTP-POST 変数に応じてビューが変わるだけです)、ページにいくつかのアニメーションと変更があります。
- メインコンテンツは次のフォームに変わります (slideUp/slideDown を使用)
- プログレスバーの状態がアニメーションで変わります
- このバーの下に、入力の一部に関する情報がフェードインします
今はかなり基本的なことですが、すべてのアニメーション (最後の 2 つの部分) がすべての状態 (異なる div、異なる入力ソース) で異なり、それらを非常に一般的なものにする方法がわからないため、私はすでに苦労しています。それらを個別に指定する必要はありません。
私はそれを受け入れることができましたが、ユーザーが戻るボタンを押すと、それらすべてのアニメーションを再度 (逆に) 再定義する必要があります。content-load は確かに問題ありません。基本的には ajax-load でファイルをリロードするだけです:
pushstate
入力データをstateObj
送信時に実行します- そのため、バインドされた「statechange」イベントで content-load を実行できます
言ったように、残りは私を狂わせます。