aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/events/domcontentloaded/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/events/domcontentloaded/index.html')
-rw-r--r--files/zh-cn/web/events/domcontentloaded/index.html128
1 files changed, 0 insertions, 128 deletions
diff --git a/files/zh-cn/web/events/domcontentloaded/index.html b/files/zh-cn/web/events/domcontentloaded/index.html
deleted file mode 100644
index 67c6a44253..0000000000
--- a/files/zh-cn/web/events/domcontentloaded/index.html
+++ /dev/null
@@ -1,128 +0,0 @@
----
-title: DOMContentLoaded
-slug: Web/Events/DOMContentLoaded
-tags:
- - DOMContentLoaded
- - Window.open()
- - load
- - window.onload
-translation_of: Web/API/Window/DOMContentLoaded_event
----
-<p>当初始的 <strong>HTML </strong>文档被完全加载和解析完成之后,<strong><code>DOMContentLoaded</code> </strong>事件被触发,而无需等待样式表、图像和子框架的完全加载。</p>
-
-<p>模拟的css文件:CSS.php</p>
-
-<pre class="notranslate">&lt;?php
-sleep(3);</pre>
-
-<p>测试代码:</p>
-
-<pre class="notranslate">&lt;link rel="stylesheet" href="css.php"&gt;
-&lt;script&gt;
-document.addEventListener('DOMContentLoaded',function(){
- console.log('3 seconds passed');
-});
-&lt;/script&gt;</pre>
-
-<p>如果将link置于script之后,就会立即打印。</p>
-
-<p>{{Note("同步 JavaScript 会暂停 DOM 的解析。")}}</p>
-
-<p>{{Note("还有许多通用和独立的库提供跨浏览器方法来检测 DOM 是否已准备就绪")}}</p>
-
-<h2 id="加速中">加速中</h2>
-
-<p>如果您希望 DOM 在用户请求页面后尽可能快地解析,你可以做的一些事情是把你的 <a href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests">JavaScript 异步化</a> 以及 <a href="https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery">优化样式表的加载</a>, 由于被并行加载而减慢页面加载,从主 html 文档“窃取”流量。</p>
-
-<h2 id="常规信息">常规信息</h2>
-
-<dl>
- <dt style="float: left; text-align: right; width: 120px;">规范</dt>
- <dd style="margin: 0pt 0pt 0pt 120px;"><a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#the-end">HTML5</a></dd>
- <dt style="float: left; text-align: right; width: 120px;">接口</dt>
- <dd style="margin: 0pt 0pt 0pt 120px;">Event</dd>
- <dt style="float: left; text-align: right; width: 120px;">是否冒泡</dt>
- <dd style="margin: 0pt 0pt 0pt 120px;">是</dd>
- <dt style="float: left; text-align: right; width: 120px;">能否取消</dt>
- <dd style="margin: 0pt 0pt 0pt 120px;">能 (尽管一个简单的事件被指定为不可取消)</dd>
- <dt style="float: left; text-align: right; width: 120px;">目标</dt>
- <dd style="margin: 0pt 0pt 0pt 120px;">Document</dd>
- <dt style="float: left; text-align: right; width: 120px;">默认行为</dt>
- <dd style="margin: 0pt 0pt 0pt 120px;">无.</dd>
-</dl>
-
-<h2 id="属性">属性</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">属性</th>
- <th scope="col">类型</th>
- <th scope="col">描述</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>target</code> {{readonlyInline}}</td>
- <td>{{domxref("EventTarget")}}</td>
- <td>产生该事件的对象(DOM树中最顶级的那个对象).</td>
- </tr>
- <tr>
- <td><code>type</code> {{readonlyInline}}</td>
- <td>{{domxref("DOMString")}}</td>
- <td>事件类型.</td>
- </tr>
- <tr>
- <td><code>bubbles</code> {{readonlyInline}}</td>
- <td>{{jsxref("Boolean")}}</td>
- <td>该事件是否冒泡.</td>
- </tr>
- <tr>
- <td><code>cancelable</code> {{readonlyInline}}</td>
- <td>{{jsxref("Boolean")}}</td>
- <td>该事件是否可取消默认行为.</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="示例" style="margin-bottom: 20px; font-size: 28px; line-height: 28px;">示例</h2>
-
-<pre class="notranslate"><code>&lt;script&gt;
- document.addEventListener("DOMContentLoaded", function(event) {
- console.log("DOM fully loaded and parsed");
- });
-&lt;/script&gt;</code></pre>
-
-<pre class="notranslate"><code>&lt;script&gt;
- document.addEventListener("DOMContentLoaded", function(event) {
- console.log("DOM fully loaded and parsed");
- });
-
- for(var i=0; i&lt;1000000000; i++){
-  // </code>这个同步脚本将延迟DOM的解析。
-  // 所以DOMContentLoaded事件稍后将启动。
-<code>  } </code><code>
-&lt;/script&gt;</code></pre>
-
-<h2 id="浏览器兼容性">浏览器兼容性</h2>
-
-<p>{{Compat("api.Window.DOMContentLoaded_event")}}</p>
-
-<p><span>至少从Gecko 1.9.2,Chrome 6,以及Safari 4开始,就已经实现了</span><span>该事件的</span><span>冒泡行为.</span></p>
-
-<h3 id="兼容不支持该事件的浏览器">兼容不支持该事件的浏览器</h3>
-
-<p>在IE8中,可以使用<code>readystatechange</code>事件来检测DOM文档是否加载完毕.在更早的IE版本中,可以通过每隔一段时间执行一次<code>document.documentElement.doScroll("left")来检测这一状态,</code>因为这条代码在DOM加载完毕之前执行时会抛出错误(throw an error)。</p>
-
-<p>诸如jQuery这样的通用JS库,会提供跨浏览器的方法来检测DOM是否加载完成。也有其他专门实现该功能的脚本:<a href="https://github.com/dperini/ContentLoaded/blob/master/src/contentloaded.js" title="https://github.com/dperini/ContentLoaded/blob/master/src/contentloaded.js">contentloaded.js</a> (只能添一个时间监听函数)以及<a href="https://github.com/addyosmani/jquery.parts/blob/master/jquery.documentReady.js" title="https://github.com/addyosmani/jquery.parts/blob/master/jquery.documentReady.js">jquery.documentReady.js</a> (并不依赖jQuery,虽然名字中有jquery).</p>
-
-<h2 id="相关事件">相关事件</h2>
-
-<ul>
- <li>{{event("DOMContentLoaded")}}</li>
- <li>{{event("readystatechange")}}</li>
- <li>{{event("load")}}</li>
- <li>{{event("beforeunload")}}</li>
- <li>{{event("unload")}}</li>
- <li><a href="https://codepen.io/gildata/pen/VrzXOb">DOMContentLoaded demo</a></li>
-</ul>