49

誰かがブラウザの戻るボタンのクリックを検出する方法の経験/コードを共有してもらえますか (あらゆるタイプのブラウザで)。

HTML5 をサポートしていないすべてのブラウザに対応する必要があります

4

11 に答える 11

65

「popstate」イベントは、前に何かをプッシュした場合にのみ機能します。したがって、次のようなことをする必要があります。

jQuery(document).ready(function($) {

  if (window.history && window.history.pushState) {

    window.history.pushState('forward', null, './#forward');

    $(window).on('popstate', function() {
      alert('Back button was pressed.');
    });

  }
});

ブラウザの下位互換性については、history.jsをお勧めします。

于 2013-10-17T08:37:35.013 に答える
10

ユーザーが [戻る] ボタンをクリックしたかどうかを検出する方法はたくさんあります。しかし、すべてはあなたのニーズに依存します。以下のリンクを調べてみてください。役立つはずです。

ユーザーが現在のページで「戻る」ボタンを押したかどうかを検出します。

前の(「進む」)ページで「戻る」ボタンを押した後に現在のページにアクセスしたかどうかを検出します。

于 2013-07-11T13:35:45.133 に答える
8

これは、ブラウザとモバイルの back_button_override.jsの間でうまく機能することがわかりました。

(Safari 5.0のタイマーを追加)

// managage back button click (and backspace)
var count = 0; // needed for safari
window.onload = function () { 
    if (typeof history.pushState === "function") { 
        history.pushState("back", null, null);          
        window.onpopstate = function () { 
            history.pushState('back', null, null);              
            if(count == 1){window.location = 'your url';}
         }; 
     }
 }  
setTimeout(function(){count = 1;},200);
于 2015-08-13T07:18:04.727 に答える
0

HTML5 History API で利用できます。イベントと呼ばれる'popstate'

于 2013-07-11T13:18:31.793 に答える