ホームページ > ウェブフロントエンド > jsチュートリアル > 異なるブラウザ間で戻るボタンをクリックした後に「onload」イベントを確実にトリガーするにはどうすればよいですか?

異なるブラウザ間で戻るボタンをクリックした後に「onload」イベントを確実にトリガーするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-06 03:51:10
オリジナル
486 人が閲覧しました

How Can I Reliably Trigger the `onload` Event After a Back Button Click Across Different Browsers?

「戻る」ボタンのクリック後のクロスブラウザー Onload イベント処理

Web サイトをナビゲートするときに「戻る」ボタンをクリックしても、通常、ほとんどのブラウザーでは JavaScript onload イベントはトリガーされません。 Internet Explorer の場合、これはこれらのイベントに依存する機能の実装に課題をもたらします。

ただし、 jQuery の存在の動作を利用するクロスブラウザ ソリューション:

<body onunload=""><!-- This triggers a page reload -->
ログイン後にコピー

この一見無害なコードは、ブラウザの内容に関係なく、 onunload イベント リスナーを追加することにより、Safari、Opera、Mozilla でページを強制的にリロードします。イベントハンドラー。

この動作を確認するには、次のコードを使用してください:

<body onunload="""><!-- This does the trick -->
<script type="text/javascript">
    alert('first load / reload');
    window.onload = function(){alert('onload')};
</script>
<a href="http://stackoverflow.com">click me, then press the back button</a>
</body>
ログイン後にコピー

onunload を使用した後、リンクをクリックしてから戻るボタンを押すと、ページがリロードされることがわかります。次のコードを比較してください。onunload がなく、戻るときにリロードされません。

<body><!-- Will not reload on back button -->
<script type="text/javascript">
    alert('first load / reload');
    window.onload = function(){alert('onload')};
</script>
<a href="http://stackoverflow.com">click me, then press the back button</a>
</body>
ログイン後にコピー

jQuery 動作を使用したこのソリューションは、さまざまなブラウザーで onload のような関数を実装できます。クリックされたとき、戻るボタンが押されたときに起動されます。が押されます。ただし、ページの読み込みが遅くなる可能性があるため、使用する前にその必要性を慎重に検討する必要があることに注意してください。

以上が異なるブラウザ間で戻るボタンをクリックした後に「onload」イベントを確実にトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート