Document    

在這種方法中,在解析程式碼時,首先在正文中的html 之前加載JavaScript 文件,如果JavaScript 嘗試操作正文中尚未解析的元素,則可能會導致錯誤,因為HTML 內容尚未完全解析已加載。

這種阻塞行為會延遲頁面其餘部分的解析和渲染,影響效能和使用者體驗。

2.中的(在結尾)

             Document     

在此方法中,在載入和執行 JavaScript 之前完全解析 HTML,從而防止與遺失 DOM 元素相關的錯誤。這種方法很好,但由於 HTML 解析和 JavaScript 載入是順序發生的,因此總體上可能需要更長的持續時間,因為這兩個過程發生在不同的時間

3.中的

            Document    

在這種方法中,我們使 JavaScript 非同步,因此它不會阻止 HTML 載入。 HTML 解析和 JavaScript 載入是並行發生的。但是,如果 JavaScript 在 HTML 完全解析之前執行,並且 js 嘗試操作尚未載入的 html 元素,則可能會導致錯誤。
注意:—這種方法可以節省時間,但同時載入 html、js 但更容易出錯

4.中的

            Document    

這種方法類似於第三種方法,其中 HTML 解析和 JavaScript 載入是並行發生的。然而,即使 JavaScript 先加載,瀏覽器也會等到 HTML 完全解析後再執行腳本

摘要:最佳方法

最好的方法通常是使用:


為什麼:

如果腳本獨立於 DOM 內容(例如追蹤腳本或廣告),您可以使用非同步以獲得更好的效能。

","image":"http://www.luping.net/uploads/20241116/17317612906738948a85e57.jpg","datePublished":"2024-11-16T21:40:39+08:00","dateModified":"2024-11-16T21:40:39+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 HTML 中新增 Javascript 檔案的最佳方法

在 HTML 中新增 Javascript 檔案的最佳方法

發佈於2024-11-16
瀏覽:827

Best Way to add Javascript file in HTML

在 HTML 中,有許多方法可以包含 JavaScript 檔案。我將解釋四種不同的方法及其缺點,最後強調最佳方法。

1.

中的
 


    Document

在這種方法中,在解析程式碼時,首先在正文中的html 之前加載JavaScript 文件,如果JavaScript 嘗試操作正文中尚未解析的元素,則可能會導致錯誤,因為HTML 內容尚未完全解析已加載。

這種阻塞行為會延遲頁面其餘部分的解析和渲染,影響效能和使用者體驗。

2.

中的(在結尾)
 


    Document

在此方法中,在載入和執行 JavaScript 之前完全解析 HTML,從而防止與遺失 DOM 元素相關的錯誤。這種方法很好,但由於 HTML 解析和 JavaScript 載入是順序發生的,因此總體上可能需要更長的持續時間,因為這兩個過程發生在不同的時間

3.

中的


    Document

在這種方法中,我們使 JavaScript 非同步,因此它不會阻止 HTML 載入。 HTML 解析和 JavaScript 載入是並行發生的。但是,如果 JavaScript 在 HTML 完全解析之前執行,並且 js 嘗試操作尚未載入的 html 元素,則可能會導致錯誤。
注意:—這種方法可以節省時間,但同時載入 html、js 但更容易出錯

4.

中的


    Document

這種方法類似於第三種方法,其中 HTML 解析和 JavaScript 載入是並行發生的。然而,即使 JavaScript 先加載,瀏覽器也會等到 HTML 完全解析後再執行腳本

摘要:最佳方法

最好的方法通常是使用:


為什麼:

  • 它不會阻止 HTML 解析(非阻塞下載)。
  • 它確保腳本在 DOM 完全解析後運行,從而更安全地操作 DOM 元素。
  • 如果您有多個延遲腳本,它會保留腳本執行順序。

如果腳本獨立於 DOM 內容(例如追蹤腳本或廣告),您可以使用非同步以獲得更好的效能。

版本聲明 本文轉載於:https://dev.to/sagar7170/best-way-to-add-javascript-file-in-html-328?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • Java中的同步靜態方法如何處理執行緒同步?
    Java中的同步靜態方法如何處理執行緒同步?
    Java 中的同步靜態方法:解鎖物件類別困境Java 文件指出,在同一物件上多次呼叫同步方法不會交錯。但是,當涉及靜態方法時會發生什麼?靜態方法不與具體物件關聯,那麼synchronized關鍵字是指物件還是類別呢? 分解答案根據Java語言規範(8.4.3.6),同步方法在執行之前取得監視器。對於...
    程式設計 發佈於2024-11-16
  • 如何使用 Python 取得目錄中按建立日期排序的檔案清單?
    如何使用 Python 取得目錄中按建立日期排序的檔案清單?
    使用Python 獲取按創建日期排序的目錄列表使用Python 獲取按創建日期排序的目錄列表導航目錄時,經常需要獲取排序後的內容列表根據特定標準,例如建立日期。在Python中,這個任務可以輕鬆完成。 建議方法:import glob import os search_dir = "/my...
    程式設計 發佈於2024-11-16
  • 如何在初始頁面載入後動態載入 Less.js 規則?
    如何在初始頁面載入後動態載入 Less.js 規則?
    動態載入Less.js規則將Less.js合併到網站中可以增強其樣式功能。然而,遇到的一個限制是需要在 Less.js 腳本之前載入所有 LESS 樣式表。當某些樣式需要在初始頁面載入後動態載入時,這可能會帶來挑戰。 目前限制目前,Less.js 規定載入外部的順序樣式表和腳本起著至關重要的作用。顛...
    程式設計 發佈於2024-11-16
  • 如何在 PHP 中清除瀏覽器快取?
    如何在 PHP 中清除瀏覽器快取?
    在PHP 中清除瀏覽器快取您可能會遇到需要清除瀏覽器快取以強制瀏覽器重新載入最新版本的情況您的網頁。當您開發 Web 應用程式並且希望確保使用者看到您所做的最新變更時,這尤其有用。 清除瀏覽器快取的PHP 代碼要使用PHP清除瀏覽器緩存,可以使用以下程式碼:header("Cache-Co...
    程式設計 發佈於2024-11-16
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-16
  • 如何在 MySQL PDO 查詢中正確使用 LIKE 和 BindParam?
    如何在 MySQL PDO 查詢中正確使用 LIKE 和 BindParam?
    在MySQL PDO 查詢中正確使用LIKE 和BindParam當嘗試在MySQL PDO 查詢中使用BindParam 執行LIKE 搜尋時,必須使用正確的語法以確保準確的結果。 優化語法要使用bindParam匹配以“a”開頭的用戶名,正確的語法是:$term = "a%"...
    程式設計 發佈於2024-11-16
  • 如何使用 Selenium 和 Python 更改 Chrome 中的用戶代理程式?
    如何使用 Selenium 和 Python 更改 Chrome 中的用戶代理程式?
    使用Selenium 更改Chrome 中的用戶代理在自動化需要特定瀏覽器配置的任務時,更改Chrome 中的用戶代理至關重要。這可以透過使用 Selenium 和 Python 來實現。 若要啟用使用者代理開關,請修改選項設定:from selenium import webdriver from...
    程式設計 發佈於2024-11-16
  • .then(function(a){ return a; }) 是 Promises 的 No-Op 嗎?
    .then(function(a){ return a; }) 是 Promises 的 No-Op 嗎?
    .then(function(a){ return a; }) 是 Promises 的 No-Op 嗎? 在 Promise 領域,就出現了 .then(function(a){ return a; }) 是否為空操作的問題。讓我們闡明這個奇怪的查詢:是的,它通常是一個無操作。 相關程式碼接收前一...
    程式設計 發佈於2024-11-16
  • 如何在 Matplotlib 中建立自訂色彩圖並新增色標?
    如何在 Matplotlib 中建立自訂色彩圖並新增色標?
    建立自訂顏色圖並合併色標要建立自己的顏色圖,一種方法是利用 matplotlib.colors 模組中的 LinearSegmentedColormap 函數。這種方法更簡單,並產生連續的色標。 import numpy as np import matplotlib.pyplot as plt i...
    程式設計 發佈於2024-11-16
  • 如何用PHP取得客戶端的當地時間?
    如何用PHP取得客戶端的當地時間?
    在PHP 中檢索客戶端的本地時間在PHP 應用程式中處理日期和時間時,必須記住PHP 主要運行於伺服器端。因此,預設情況下,與時間相關的函數(如 date())會根據伺服器的位置和時區提供時間。但是,在需要捕獲客戶端(用戶)本地時間的情況下,需要採用替代方法。 這裡有一個使用 JavaScript ...
    程式設計 發佈於2024-11-16
  • 所有可變參數函數都會將“float”參數提升為“double”嗎?
    所有可變參數函數都會將“float”參數提升為“double”嗎?
    在可變參數函數中將浮點參數提升為Double在先前的討論中,注意到printf() 將會浮點參數提升為在接受之前加倍。這就提出了一個問題:所有可變參數函數都執行此提升嗎? 可變參數參數提升是的,根據 C99 和 C 標準,浮點參數傳遞給可變參數函數提升為雙精度。 標準規範C99(第6.5.2.2 節...
    程式設計 發佈於2024-11-16
  • MySQL 表悖論:如何修復既存在又不存在的表格?
    MySQL 表悖論:如何修復既存在又不存在的表格?
    薛丁格的MySQL表:存在之謎在資料庫管理領域,MySQL表可以表現出一種矛盾的存在。正如您所遇到的,表似乎同時存在和不存在的謎團可能會帶來令人沮喪的挑戰。讓我們深入研究根本問題並探索潛在的解決方案。 當遇到令人困惑的錯誤“表已存在”而“DROP TABLE”返回“未知表”時,很可能是表定義之間存在...
    程式設計 發佈於2024-11-16
  • 程式設計什麼時候需要三指針?
    程式設計什麼時候需要三指針?
    程式設計中的三重指標在各種程式語言中,指標是記憶體管理和間接尋址的強大工具。然而,什麼時候需要多層次的指標解引用,導致像三重指標(char***)這樣的結構? 三重指標的目的與優點雖然常規指標(char*) 保存變數的位址,但三重指標表示以下情況:char**foo 指向一個本身指向指標的指標cha...
    程式設計 發佈於2024-11-16
  • 你應該使用 MySQL 的 PASSWORD() 函數來進行密碼雜湊嗎?
    你應該使用 MySQL 的 PASSWORD() 函數來進行密碼雜湊嗎?
    MySQL 密碼函數注意事項對應用程式的密碼進行雜湊處理時,確定最佳方法至關重要。 MySQL 的密碼函數在這方面尤其重要,但其使用引起了爭議。 MySQL 密碼函數的優缺點使用 MySQL 的密碼函數有一些優點。它是一個內建函數,可以安全地處理散列和加鹽。然而,它也有潛在的缺點:使用限制: MyS...
    程式設計 發佈於2024-11-16
  • 為什麼C++不能像Java一樣直接回傳數組?
    為什麼C++不能像Java一樣直接回傳數組?
    為什麼C 不簡化陣列傳回類型雖然Java 等程式語言允許簡單的陣列傳回類型,但C 需要更複雜的方法。這不是任意的,而是源自於基本的語言設計決策。 內存管理和按值傳遞與按引用傳遞C 區分傳遞-按值傳遞和按引用傳遞。數組名本質上是指針。按值傳遞數組的結果是其第一個元素的記憶體位址,該位址在函數作用域之外...
    程式設計 發佈於2024-11-16

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

Copyright© 2022 湘ICP备2022001581号-3