」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在沒有框架的情況下確定 DOM 準備?

如何在沒有框架的情況下確定 DOM 準備?

發佈於2024-12-23
瀏覽:670

How to Determine DOM Readiness without Frameworks?

在沒有框架的情況下了解DOM 準備

開發Web 應用程式時,確定文件物件模型(DOM) 何時準備好進行操作至關重要。雖然像 jQuery 這樣的框架提供了 readyState 偵聽器,但本文探討了偵測 DOM 就緒情況的替代方法。

直接存取 DOM State

您可以直接存取 DOM State,而不是依賴框架,您可以直接存取 DOM 狀態。檢查文件的readyState屬性:

if (document.readyState === 'complete') {
  // DOM is ready
}

但是,這種方法在瀏覽器中並不可靠,因為有些瀏覽器可能無法提供準確的readyState值。

基於事件的DOM就緒檢查

一種更跨瀏覽器的方法是監聽DOMContentLoaded 事件,該事件在DOM 準備好時觸發操作:

function fireOnReady() {
  // ...
}
if (document.readyState === 'complete') {
  fireOnReady();
} else {
  document.addEventListener("DOMContentLoaded", fireOnReady);
}

利用jQuery 未記錄的isReady 屬性

儘管未記錄,jQuery 公開了一個isReady 屬性,該屬性在內部指示DOM 就緒狀態:

if ($.isReady) {
  // DOM is ready
} else {
  // DOM is not yet ready
}

輕量級DOM Ready 片段

受Dustin Diaz 片段的啟發,您可以創建一個迷你DOM 就緒監聽器,如下所示:

if (!/in/.test(document.readyState)) {
  // Document is ready
} else {
  // Document is not ready
}

此檢查利用了以下事實:readyState 值在早期載入狀態中包含“in”,使其成為 DOM 就緒情況的可靠指標。

版本聲明 本文轉載於:1729390816如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3