0

ユーザーがページを離れた後にブラウザの [戻る] ボタンを押して再度表示する場合、HTML ページ自体を変更する必要があります。

jQuery を使用して、このイベントを取得するにはどうすればよいですか? 私はこれを試しました:

    $(function() {
        DoSOmething();
    });
4

3 に答える 3

1

この Web サイトを試してみてください: http://www.bajb.net/2010/02/browser-back-button-detection/ これには、クラスを使用した非常に単純なコードのデモがあります。

<script type="text/javascript">
bajb_backdetect.OnBack = function()
{
alert('You clicked it!');//Do something!
}
</script>

これで仕事ができるはずです!

于 2013-10-22T16:57:11.197 に答える
0

うーん..何をしようとしているのかわかりませんが、ページが読み込まれた直後に関数を実行する必要がある場合は、次のような load イベントを使用する必要があります。

$(window).load(function(){  //all of the code inside this function will fire after the page has been loaded
    DoSomething();
});

との違い

$(document).ready(function({ //this code will fire as soon as the browser downloads the js file or if it's already on cache, will fire it right after the "handshake" with the server
    DoSomething();
})

これは$(window).load、サーバーとのすべての通信が完全に解決され、すべての HTML がブラウザーに読み込まれるまで起動しませんが、$(document).readyすぐに起動します。

おそらく、関数はページにまだロードされていない要素を探しているため、何もしません。

必要に応じて、次のように jqueryless または通常の JavaScript で実行できます。

window.onload = function(){
    DoSomething();
}

$(window).load と同じですが、jquery の肥大化はありません。それが役に立てば幸いです、乾杯。

于 2013-10-22T16:55:56.610 に答える
0

考えられる方法の 1 つは、Cookie を設定して、ページに戻ってきたユーザーを検出することです。戻るボタンを文字通り検出するわけではありませんが、戻るボタンが使用された場合など、ページに戻ったときにコードを実行できます。

Cookie の有効期間を短く設定することで、長く存続しないようにすることができます。

必ずしも最善の方法ではありませんが、1 つの可能性として考えてください。History API は、プライバシー上の理由から、その内容を意図的に明らかにしません。

于 2013-10-22T16:58:46.087 に答える