ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptを使用してページ更新やページ終了イベントを監視する方法を詳しく解説

JavaScriptを使用してページ更新やページ終了イベントを監視する方法を詳しく解説

高洛峰
高洛峰オリジナル
2017-01-10 09:30:594288ブラウズ

日常生活では、リンクをクリックしたり、ページを閉じたり、フォームを送信したりする際に、動作を確認するかどうかなどを確認する画面が表示されることがあります。

ここではJavaScriptのonbeforeunload()イベントとonunload()イベントについて説明します。

類似点:

どちらもページの閉じるイベントまたは更新イベントで動作します。

違い:

unbeforeunload() イベントが実行される順序は、onunload() イベントより前に発生します。 (unbeforeunload() はページが更新される前にトリガーされるイベントであるのに対し、onubload() はページが閉じられた後にトリガーされるためです)。

unbeforeunload() イベントは、onunload() イベントのトリガーを禁止できます。

onunload() イベントはページが閉じるのを防ぐことはできません。

ブラウザの互換性

onunload:

IE6、IE7、IE8 では、ページを更新してブラウザを閉じ、ページがジャンプした後に実行されます。

IE9 では、ページを更新した後に実行されます。ページがジャンプしたとき、またはブラウザを閉じたときは実行されません。 ;

firefox (firefox3.6 を含む) は、タグを閉じた後、ページがジャンプした後、ページを更新した後に実行できますが、ブラウザを閉じた後は実行できません。

Safari はページを更新したりページをジャンプした後に実行できますが、ブラウザを閉じることはできません。

Opera と Chrome はいかなる状況でも実行されません。

JavaScriptを使用してページ更新やページ終了イベントを監視する方法を詳しく解説

onbeforeunload:

IE、Chrome、Safariを完全にサポート

Firefoxはテキストリマインダーメッセージをサポートしていません

Operaはサポートしていません

IE6、IE7にはバグがあります

JavaScriptを使用してページ更新やページ終了イベントを監視する方法を詳しく解説

サンプルコード:

onbeforeunload() :

方法1:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body onbeforeunload="return myFunction()">
<p>该实例演示了如何向 body 元素添加 "onbeforeunload" 事件。</p>
<p>关闭当前窗口,按下 F5 或点击以下链接触发 onbeforeunload 事件。</p>
<a href="http://www.qqtimezone.top">博客地址</a>  
<script>
function myFunction() {
  return "自定义内容";
}
</script>
</body>
</html>

を追加する 方法2:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>该实例演示了如何使用 HTML DOM 向 body 元素添加 "onbeforeunload" 事件。</p>
<p>关闭当前窗口,按下 F5 或点击以下链接触发 onbeforeunload 事件。</p>
<a href="http://www.runoob.com">点击调整到菜鸟教程</a>
<script>
window.onbeforeunload = function(event) {
  event.returnValue = "我在这写点东西...";
};
</script>
</body>
</html>

をJavaScriptに追加する ):

方法1:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>该实例演示了如何使用 addEventListener() 方法向 body 元素添加 "onbeforeunload" 事件。</p>
<p>关闭当前窗口,按下 F5 或点击以下链接触发 onbeforeunload 事件。</p>
<a href="http://www.qqtimezone.top">跳转地址</a>
<script>
window.addEventListener("beforeunload", function(event) {
  event.returnValue = "我在这写点东西...";
});
</script>
</body>
</html>

を追加する 方法2:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script type="text/javascript">
    function fun() {
      // dosomethings
    }
  </script>
</head>
<body onunload="fun()">
</body>
</html>

を追加する

をHTMLにelements 同時に、PHP 中国語 Web サイトもサポートしたいと考えています。

JavaScript モニタリングのページ更新メソッドとページ終了イベント メソッドの詳細な説明については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。