下面小編就為大家帶來一篇淺談HTML5 defer和async的差別。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
在HTML頁面中插入Javascript的主要方法,就是使用<script>元素。這個元素是由Netscape創造並在Netscape Navigator 2中先實作。後來,這個元素就被加入到正式的HTML規範中。 HTML4.01為<script>定義了6個<a href="http://www.php.cn/wiki/169.html" target="_blank">屬性,包括defer和async。 defer和async都是可選的,而且只對外部腳本檔案有效。 <br/> <br/><strong><span style="color:#ff0000">一、當瀏覽器解析到script腳本,沒有defer或async時:<br/> <br/></script>
<script src="main.js"></script>
瀏覽器會立即載入並執行指定的腳本,「立即」指在渲染該script標籤之下的文檔元素之前,也就是說不等待後續載入的文檔元素,讀到就載入並執行。
二、當瀏覽器解析到script腳本,有async時:
<script async src="main.js"></script>
瀏覽器會立即下載腳本,但不會妨礙頁面中的其他操作,例如下載其他資源或等待載入其他腳本。載入和渲染後續文檔元素的過程和main.js的載入與執行並行進行(非同步)。
async不保證按照腳本出現的先後順序執行,因此,確保兩者之前互不依賴非常重要,指定async屬性的目的是不讓頁面等待兩個腳本的下載和執行,從而異步加載頁面其他內容,建議非同步腳本不要在載入期間修改DOM。
非同步腳本一定會在頁面的load事件前執行,但可能會在DOMContentLoaded事件觸發之前或之後執行。支援非同步腳本的瀏覽器有Firefox 3.6、Safari 5 和Chrome。
三、當瀏覽器解析到script腳本,有defer時:
<script defer="defer" src="main1.js"></script> <script defer="defer" src="main2.js"></script>
表示腳本會被延遲到文檔完全被解析和顯示之後再執行,載入後續文檔元素的過程將和main.js的載入並行進行(非同步)。 HTML5規範要求腳本按照它們出現的先後順序執行,因此第一個延遲腳本會先於第二個延遲腳本執行,而這兩個腳本會先於DOMContentLoaded事件。在現實當中,延遲腳本並不一定會依照順序執行,也不一定會在DOMContentLoaded事件觸發前執行,因此最好只包含一個延遲腳本。
IE4~IE7也支援對嵌入腳本的defer屬性,但IE8以及之後的版本則完全支援HTML5規定的行為。
IE4,Firefox 3.5,Safari 5和Chrome是最早支援defer屬性的瀏覽器。其他瀏覽器胡忽略這個屬性,像平常一樣處理腳本,為此,把延遲腳本放在頁面底部仍然是最佳選擇。
藍色線代表網路讀取,紅色線代表執行時間,這兩個都是針對腳本的;綠色線代表 HTML 解析。
此圖告訴我們以下幾個重點:
defer 和async 在網路上讀取(下載)這塊兒是一樣的,都是非同步的(相較於HTML 解析)
它兩個的差別在於腳本下載完之後何時執行,顯然defer 是最接近我們對於應用程式腳本載入和執行的要求的
關於defer,此圖未盡之處在於它是按照加載順序執行腳本的,這一點要善加利用
async 則是一個亂序執行的主,反正對它來說腳本的加載和執行是緊緊挨著的,所以不管你聲明的順序如何,只要它加載完了就會立刻執行
仔細想想,async 對於應用腳本的用處不大,因為它完全不考慮依賴(即使是最低階的順序執行),不過它對那些可以不依賴任何腳本或不被任何腳本依賴的腳本來說卻是非常合適的,最典型的例子:Google Analytics
以上是簡單介紹HTML5 defer和async的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

HTML5hassignificantlytransformedwebdevelopmentbyintroducingsemanticelements,enhancingmultimediasupport,andimprovingperformance.1)ItmadewebsitesmoreaccessibleandSEO-friendlywithsemanticelementslike,,and.2)HTML5introducednativeandtags,eliminatingthenee

H5通過語義化元素和ARIA屬性提升網頁的可訪問性和SEO效果。 1.使用、、等元素組織內容結構,提高SEO。 2.ARIA屬性如aria-label增強可訪問性,輔助技術用戶可順利使用網頁。

"h5"和"HTML5"在大多數情況下是相同的,但它們在某些特定場景下可能有不同的含義。 1."HTML5"是W3C定義的標準,包含新標籤和API。 2."h5"通常是HTML5的簡稱,但在移動開發中可能指基於HTML5的框架。理解這些區別有助於在項目中準確使用這些術語。

H5,即HTML5,是HTML的第五個版本,它為開發者提供了更強大的工具集,使得創建複雜的網頁應用變得更加簡單。 H5的核心功能包括:1)元素允許在網頁上繪製圖形和動畫;2)語義化標籤如、等,使網頁結構清晰,利於SEO優化;3)新API如GeolocationAPI,支持基於位置的服務;4)跨瀏覽器兼容性需要通過兼容性測試和Polyfill庫來確保。

如何創建 H5 鏈接?確定鏈接目標:獲取 H5 頁面或應用程序的 URL。創建 HTML 錨點:使用 <a> 標記創建錨點並指定鏈接目標URL。設置鏈接屬性(可選):根據需要設置 target、title 和 onclick 屬性。添加到網頁:將 HTML 錨點代碼添加到希望鏈接出現的網頁中。

解決 H5 兼容問題的方法包括:使用響應式設計,允許網頁根據屏幕尺寸調整佈局。採用跨瀏覽器測試工具,在發布前測試兼容性。使用 Polyfill,為舊瀏覽器提供對新 API 的支持。遵循 Web 標準,使用有效的代碼和最佳實踐。使用 CSS 預處理器,簡化 CSS 代碼並提高可讀性。優化圖像,減小網頁大小並加快加載速度。啟用 HTTPS,確保網站的安全性。

h5頁面可以通過兩種方法生成鏈接:手動創建鏈接或使用短鏈接服務。通過手動創建,只需複制h5頁面的URL即可;通過短鏈接服務,需將URL粘貼到服務中,然後獲取縮短的URL。

製作引人入勝的 H5 分享頁面至關重要,旨在提升參與度、產生潛在客戶和增加品牌知名度。步驟包括:確定目標受眾、設計引人注目的視覺效果、創建引人入勝的內容、添加互動元素、優化社交媒體分享,以及測試並改進。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中