小码哥的IT人生

onpagehide 事件

JavaScript基础 2022-06-08 12:02:01小码哥的IT人生shichen

onpagehide 事件

实例

当用户离开网页时执行 JavaScript:

<body onpagehide="myFunction()">

定义和用法

onpagehide 事件当用户离开网页时发生。

有多种方法可以离开页面。例如。通过单击链接、刷新页面、提交表单、关闭浏览器窗口等。

有时会使用 onpagehide 事件代替 onunload 事件,因为 onunload 事件会导致页面不被缓存。

如需确定页面是直接从服务器加载还是缓存,您可以使用 PageTransitionEvent 对象的 persisted 属性。如果页面被浏览器缓存,则此属性返回 true,否则返回 false(请参阅下面的更多实例)。

浏览器支持

表中的数字注明了完全支持该事件的首个浏览器版本。

事件 Chrome IE Firefox Safari Opera
onpagehide 支持 11.0 支持 5.0 支持

注释:由于浏览器设置不同,此事件可能并不总是按预期工作。

语法

在 HTML 中:

<element onpagehide="myScript">

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 错误</h1>
<p>在此例中,我们将 alert 编写为 adddlert 来故意产生错误:</p>
<p id="demo"></p>
<script>
try {
  adddlert("Welcome guest!");
}
catch(err) {
  document.getElementById("demo").innerHTML = err.message;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在 JavaScript 中:

object.onpagehide = function(){myScript};

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 错误</h1>
<p>在此例中,我们将 alert 编写为 adddlert 来故意产生错误:</p>
<p id="demo"></p>
<script>
try {
  adddlert("Welcome guest!");
}
catch(err) {
  document.getElementById("demo").innerHTML = err.message;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

在 JavaScript 中,使用 addEventListener() 方法:

object.addEventListener("pagehide", myScript);

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 错误</h1>
<p>在此例中,我们将 alert 编写为 adddlert 来故意产生错误:</p>
<p id="demo"></p>
<script>
try {
  adddlert("Welcome guest!");
}
catch(err) {
  document.getElementById("demo").innerHTML = err.message;
}
</script>
</body>
</html>

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法

技术细节

冒泡: 不支持
可取消: 不支持
事件类型: PageTransitionEvent
支持的 HTML 标签: <body>
DOM 版本: Level 3 Events

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024