ジャンプブラウザの問題を処理するために、歴史とウィンドウオブジェクトでpopstateイベントを使用します

ジャンプブラウザの問題を処理するために、歴史とウィンドウオブジェクトで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を使用することです

 

転載:アドレス忘れ

おすすめ

転載: www.cnblogs.com/Alitar/p/10931689.html