aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/window/load_event/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/api/window/load_event/index.html')
-rw-r--r--files/zh-cn/web/api/window/load_event/index.html162
1 files changed, 162 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/window/load_event/index.html b/files/zh-cn/web/api/window/load_event/index.html
new file mode 100644
index 0000000000..7f784a47f1
--- /dev/null
+++ b/files/zh-cn/web/api/window/load_event/index.html
@@ -0,0 +1,162 @@
+---
+title: load
+slug: Web/API/Window/load_event
+tags:
+ - load
+translation_of: Web/API/Window/load_event
+original_slug: Web/Events/load
+---
+<p>{{APIRef}}</p>
+
+<p>当整个页面及所有依赖资源如样式表和图片都已完成加载时,将触发<code>load</code>事件。</p>
+
+<p>它与{{domxref("Document/DOMContentLoaded_event", "DOMContentLoaded")}}不同,后者只要页面DOM加载完成就触发,无需等待依赖资源的加载。</p>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">是否冒泡</th>
+ <td>否</td>
+ </tr>
+ <tr>
+ <th scope="row">能否取消</th>
+ <td>否</td>
+ </tr>
+ <tr>
+ <th scope="row">接口</th>
+ <td>{{domxref("Event")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">Event handler property</th>
+ <td>{{domxref("GlobalEventHandlers/onload", "onload")}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="用法">用法</h2>
+
+<p>当页面及资源完全加载后在控制台打印一段信息:</p>
+
+<pre class="brush: js notranslate">window.addEventListener('load', (event) =&gt; {
+ console.log('page is fully loaded');
+});</pre>
+
+<p>也可以使用<code>onload</code>实现:</p>
+
+<pre class="brush: js notranslate">window.onload = (event) =&gt; {
+ console.log('page is fully loaded');
+};</pre>
+
+<h2 id="示例">示例</h2>
+
+<h3 id="HTML">HTML</h3>
+
+<pre class="brush: html notranslate">&lt;div class="controls"&gt;
+ &lt;button id="reload" type="button"&gt;Reload&lt;/button&gt;
+&lt;/div&gt;
+
+&lt;div class="event-log"&gt;
+ &lt;label&gt;Event log:&lt;/label&gt;
+ &lt;textarea readonly class="event-log-contents" rows="8" cols="30"&gt;&lt;/textarea&gt;
+&lt;/div&gt;</pre>
+
+<div class="hidden">
+<h3 id="CSS">CSS</h3>
+
+<pre class="brush: css notranslate">body {
+ display: grid;
+ grid-template-areas: "control log";
+}
+
+.controls {
+ grid-area: control;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.event-log {
+ grid-area: log;
+}
+
+.event-log-contents {
+ resize: none;
+}
+
+label, button {
+ display: block;
+}
+
+#reload {
+ height: 2rem;
+}
+</pre>
+</div>
+
+<h3 id="JS">JS</h3>
+
+<pre class="brush: js notranslate">const log = document.querySelector('.event-log-contents');
+const reload = document.querySelector('#reload');
+
+reload.addEventListener('click', () =&gt; {
+ log.textContent ='';
+ window.setTimeout(() =&gt; {
+ window.location.reload(true);
+ }, 200);
+});
+
+window.addEventListener('load', (event) =&gt; {
+ log.textContent = log.textContent + 'load\n';
+});
+
+document.addEventListener('readystatechange', (event) =&gt; {
+ log.textContent = log.textContent + `readystate: ${document.readyState}\n`;
+});
+
+document.addEventListener('DOMContentLoaded', (event) =&gt; {
+ log.textContent = log.textContent + `DOMContentLoaded\n`;
+});
+
+</pre>
+
+<h4 id="结果">结果</h4>
+
+<p>{{ EmbedLiveSample('Live_example', '100%', '160px') }}</p>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('UI Events', '#event-type-load', 'load')}}</td>
+ <td>{{Spec2('UI Events')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML WHATWG', '#delay-the-load-event', 'load event')}}</td>
+ <td>{{Spec2('HTML WHATWG')}}</td>
+ <td>此链接指向加载文档结束时执行步骤中的部分。“load”事件也会在许多元素上触发。 请注意,规范中有很多地方涉及到可以"<a href="https://html.spec.whatwg.org/multipage/parsing.html#delay-the-load-event">延迟加载事件</a>"的内容。</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<div class="hidden">
+<p>此页面上的兼容性表是根据结构化数据生成的。 如果您想贡献数据,请查看 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并向我们发送请求请求。</p>
+</div>
+
+<p>{{Compat("api.Window.load_event")}}</p>
+
+<h2 id="参阅">参阅</h2>
+
+<ul>
+ <li>相关事件: {{domxref("Window/DOMContentLoaded_event", "DOMContentLoaded")}}, {{domxref("Document/readystatechange_event", "readystatechange")}}, {{domxref("Window/beforeunload_event", "beforeunload")}}, {{domxref("Window/unload_event", "unload")}}</li>
+</ul>