私の問題は、私が記録したこのスクリーンキャストで最もよく説明されています:http ://www.youtube.com/watch?v=aI-p_jqzOdU
AjaxディープリンクにjQueryアドレスプラグインを使用しています。jQueryアドレスがどのように機能するかわからない場合は、change()
メソッドでハッシュの変更をリッスンすることで機能します。戻るボタンを押して前のページのURLに移動するハイパーリンクを押すと、同じイベントハンドラーが呼び出されるため、同じように動作するはずです。
ここにそれは擬似コードにあります:
$address.change(function(event) {
if (event.value != '/') { // is the image link
Get the URL to be loaded
Create an overlay, append it to body and set its height, width, opacity
Put overlay on top of gallery
Load URL into overlay then fade it in
Set BODY to overflow: hidden
} else { // is the gallery link
Set BODY to overflow: auto
Fade out overlay then remove it
}
});
ビデオを見ると、前のページへのリンクを押すと、ページのスクロールが0に戻ることがわかります。ブラウザの戻るボタンを押すと、目的の動作が維持されます。
何が間違っている可能性がありますか?