この時点で、ハッシュ値を使用して現在どの写真がユーザーに表示されているかを判断し、そのページを友人などに送信するフォトギャラリーがあります。何かのように:私たちは、次または前のボタンをクリックした後、対応する画像をロードしているtop.location.replaceはSafari/Chromeで履歴項目を作成します
、我々は使用してJS 1.1の仕様に応じてURLを変更します。
top.location.replace(url.url + hash);
私たちが望んでいた行動があります履歴項目が作成されていないため、戻るボタンを使用して前の写真を表示する代わりに、戻るボタンを使用してフォトギャラリーを終了することができます。
IEとFirefoxでは、この方法は魅力的ですが、SafariとChromeは変更されたURLの履歴項目を作成します。私はこのようなナビゲーションのためにハッシュを使用するときにヒストリー項目を作成する方法をサンプルの多くを見つけましたが、私はこれを他の方法で行いたいと思います。どんな手掛かり?
はい replace(url)\t現在のドキュメントを指定されたURLに置き換えます。assign()メソッドとの違いは、replace()を使用した後、現在のページはセッション履歴に保存されませんユーザーは「戻る」ボタンを使用してナビゲートすることはできません。 Webkitでは動作しないので、バグがあります。 –
私の答えを明確にします – MyItchyChin
location.hashはIE以外のすべての主要なブラウザに履歴項目を作成しますので、うまくいきません:-) –