onpagehide 事件
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 |