ジャンプブラウザの問題を処理するために、歴史とウィンドウオブジェクトでpopstateイベントを使用します
プライマー
時折、前の機能に戻りますプロジェクト履歴インタフェースで使用する前に、それはhistory.go(-1)を使用して、数日のインタビューの前に、制御問題ブラウザジャンプの顔に無知なビットは、具体的にチェック文書ビット、およびアプリケーションのいくつかは、現時点で考えることができます示しています。
popstateイベント
とき活動履歴エントリの変更はpopstateイベントをトリガします。履歴エントリがhistory.pushState()の呼び出し作成、またはhistory.replaceState()の呼び出しに影響することによって活性化される場合、状態プロパティpopstateイベントのオブジェクトの状態のコピーは、履歴項目を含みます。
私の知る限り、今知っているように、ブラウザの両方が前方のですかバックがpopstateこのイベントをトリガーする、あなただけのモニタページの変更の役割を果たすことができます。
歴史・インタフェース
- プロパティ
- 表現History.lengthセッションの歴史の中での要素の数
- History.scrollRestorationは、ナビゲーションの歴史上のWebアプリケーションは、明示的に行動回復をデフォルトのスクロールを設定することができます。このプロパティは、自動であってもよい(オート)または手動(マニュアル)。
- History.stateスタック履歴表現の上部に状態の値を返します。これは、ステータスとpopstate方法を表示するイベントを待つ必要はありませんです。
- 方法
-
History.back()
history.goに相当(-1)
-
History.forward()
historygoに相当(1)
-
History.go()
この方法ではない、または引数が範囲外の場合に影響しません
-
History.pushState()
状態オブジェクト、タイトル(今は無視)、およびオプションのURLアドレス:pushState()は、3つのパラメータを取ります。以下の3つのパラメータは慎重に検査されます
function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#xx"); }
他の方法は、見て興味を持って、それらを表示されません文書を
リスナーブラウザの戻るボタン
function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#xx"); } pushHistory(); window.addEventListener("popstate", function(e) { console.log(e); alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能 }, false);
場所は、イベントブラウザの復帰を監視することができますが、直接ジャンプしないpushStateを監視することがない最初のアドレスをすれば、私は、質問があり、これは一時的に知ってもらうされていない、小さなパートナーが語るメッセージを残すことができるがあることを知っています。
バックの溶液を禁止
history.pushState(null, null, document.URL); window.addEventListener("popstate",function(e) { console.log(e); history.pushState(null, null, document.URL); }, false);
実際には、これは戻ってクリックする前に、ブラウザの履歴リストに現在のページを挿入し、クリックが一度に挿入されているので、関係なく、ポイント前後に、常にこのページに留まりますpushStateを使用することです
-
転載:アドレス忘れ
プライマー
時折、前の機能に戻りますプロジェクト履歴インタフェースで使用する前に、それはhistory.go(-1)を使用して、数日のインタビューの前に、制御問題ブラウザジャンプの顔に無知なビットは、具体的にチェック文書ビット、およびアプリケーションのいくつかは、現時点で考えることができます示しています。
popstateイベント
とき活動履歴エントリの変更はpopstateイベントをトリガします。履歴エントリがhistory.pushState()の呼び出し作成、またはhistory.replaceState()の呼び出しに影響することによって活性化される場合、状態プロパティpopstateイベントのオブジェクトの状態のコピーは、履歴項目を含みます。
私の知る限り、今知っているように、ブラウザの両方が前方のですかバックがpopstateこのイベントをトリガーする、あなただけのモニタページの変更の役割を果たすことができます。
歴史・インタフェース
- プロパティ
- 表現History.lengthセッションの歴史の中での要素の数
- History.scrollRestorationは、ナビゲーションの歴史上のWebアプリケーションは、明示的に行動回復をデフォルトのスクロールを設定することができます。このプロパティは、自動であってもよい(オート)または手動(マニュアル)。
- History.stateスタック履歴表現の上部に状態の値を返します。これは、ステータスとpopstate方法を表示するイベントを待つ必要はありませんです。
- 方法
-
History.back()
history.goに相当(-1)
-
History.forward()
historygoに相当(1)
-
History.go()
この方法ではない、または引数が範囲外の場合に影響しません
-
History.pushState()
状態オブジェクト、タイトル(今は無視)、およびオプションのURLアドレス:pushState()は、3つのパラメータを取ります。以下の3つのパラメータは慎重に検査されます
function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#xx"); }
他の方法は、見て興味を持って、それらを表示されません文書を
リスナーブラウザの戻るボタン
function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#xx"); } pushHistory(); window.addEventListener("popstate", function(e) { console.log(e); alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能 }, false);
場所は、イベントブラウザの復帰を監視することができますが、直接ジャンプしないpushStateを監視することがない最初のアドレスをすれば、私は、質問があり、これは一時的に知ってもらうされていない、小さなパートナーが語るメッセージを残すことができるがあることを知っています。
バックの溶液を禁止
history.pushState(null, null, document.URL); window.addEventListener("popstate",function(e) { console.log(e); history.pushState(null, null, document.URL); }, false);
実際には、これは戻ってクリックする前に、ブラウザの履歴リストに現在のページを挿入し、クリックが一度に挿入されているので、関係なく、ポイント前後に、常にこのページに留まりますpushStateを使用することです
-
転載:アドレス忘れ