了解JavaScript 中的DOM 準備情況
使用動態網頁時,了解DOM 準備情況對於在適當的時間執行任務至關重要。雖然 Prototype 和 jQuery 等框架提供了方便的機制將函數附加到 window.onload 事件,但在某些情況下需要更直接的方法。
查詢DOM 就緒情況
如果您尋求使用框架的替代方法,您可以探索以下幾種方法:
1. jQuery 未記錄的「isReady」屬性:
儘管未記錄,jQuery 仍維護一個名為isReady 的內部屬性。當可存取時,它指示 DOM 就緒事件是否已觸發:
<code class="javascript">if ($.isReady) { // DOM is ready } else { // DOM is not yet ready }</code>
雖然此方法在多個 jQuery 版本中都很穩定,但它仍未記錄在案,應謹慎使用。
2。 Document ReadyState:
文件物件提供了一個readyState屬性,反映了頁面的載入狀態:
<code class="javascript">if (document.readyState === 'complete') { // DOM is ready } else { document.addEventListener("DOMContentLoaded", fireOnReady); }</code>
透過監聽DOMContentLoaded 事件,可以在頁面載入時執行程式碼:頁面已完全載入。
3.自訂DOM 就緒檢查:
對於瀏覽器相容性至關重要的場景,您可以受Dustin Diaz 程式碼片段的啟發創建自訂DOM就緒檢查:
<code class="javascript">if (!/in/.test(document.readyState)) { // document is ready } else { // document is NOT ready }</code>
這種方法利用了以下事實:載入狀態「loading」和「interactive」在其readyState屬性中包含字串「in」。因此,如果在readyState中發現“in”,則文件尚未準備好。
以上是JavaScript 中的 DOM 何時準備就緒?的詳細內容。更多資訊請關注PHP中文網其他相關文章!