--- title: 'Window: 页面隐藏事件(pagehide event)' slug: Web/API/Window/pagehide_event tags: - API - Event - Navigation - pagehide event - sendBeacon - 前端监控 - 埋点 - 数据上报 translation_of: Web/API/Window/pagehide_event ---
当浏览器在显示与会话历史记录不同的页面的过程中隐藏当前页面时, pagehide
(页面隐藏)事件会被发送到一个{{domxref("Window")}} 。例如,当用户单击浏览器的“后退”按钮时,当前页面在显示上一页之前会收到一个pagehide
(页面隐藏)事件。
Bubbles(冒泡) | No |
---|---|
Cancelable(可取消) | No |
Interface(接口) | {{domxref("PageTransitionEvent")}} |
Event handler property(事件处理程序属性) | {{domxref("Window.onpagehide", "onpagehide")}} |
在此示例中,建立了一个事件处理程序以监视 pagehide
(页面隐藏)事件,并在持久保存页面以进行可能的重用时执行特殊处理。
window.addEventListener("pagehide", event => { if (event.persisted) { /* the page isn't being discarded, so it can be reused later */ } }, false);
这也可以使用 {{domxref("Window")}} 上的 {{domxref("Window.onpagehide", "onpagehide")}} 事件处理程序属性来编写:
window.onpagehide = event => { if (event.persisted) { /* the page isn't being discarded, so it can be reused later */ } }
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', 'browsing-the-web.html#event-pagehide', 'pagehide')}} | {{Spec2('HTML WHATWG')}} | Initial specification. |
{{SpecName('HTML5 W3C', 'browsers.html#event-pagehide', 'pagehide')}} | {{Spec2('HTML5 W3C')}} |
{{Compat("api.Window.pagehide_event")}}