1. 面向开发者的 Web 技术
  2. Web API
  3. Window
  4. unload

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

unload

当文档或一个子资源正在被卸载时,触发 unload 事件。

可冒泡(Bubbles) No
可取消(Cancelable) No
接口(Interface) Event
事件处理程序属性(Event handler property) onunload

它在下面两个事件后被触发:

  1. beforeunload (可取消默认行为的事件)
  2. pagehide

文档处于以下状态:

  • 所有资源仍存在 (图片,iframe 等.)
  • 对于终端用户所有资源均不可见
  • 界面交互无效 (window.open, alert, confirm 等.)
  • 错误不会停止卸载文档的过程

请注意unload事件也遵循文档树:父 iframe 会在子 iframe 卸载前卸载 (参考下面的例子).

示例

html
<!doctype html>
<html>
 <head>
 <title>Parent Frame</title>
 <script>
 window.addEventListener("beforeunload", function (event) {
 console.log("I am the 1st one.");
 });
 window.addEventListener("unload", function (event) {
 console.log("I am the 3rd one.");
 });
 </script>
 </head>
 <body>
 <iframe src="child-frame.html"></iframe>
 </body>
</html>

下面是 child-frame.html 的内容:

html
<!doctype html>
<html>
 <head>
 <title>Child Frame</title>
 <script>
 window.addEventListener("beforeunload", function (event) {
 console.log("I am the 2nd one.");
 });
 window.addEventListener("unload", function (event) {
 console.log("I am the 4th and last one...");
 });
 </script>
 </head>
 <body>
 ☻
 </body>
</html>

当父 iframe 被卸载,事件将按 console.log() 消息描述的顺序触发。

规范

Specification
HTML
# event-unload
HTML
# handler-window-onunload

浏览器兼容性

参见

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /