HTML <script> 標(biāo)簽
defer 屬性規(guī)定應(yīng)該等待所有HTML文檔解析完成以后,再判斷js腳本是否執(zhí)行,請(qǐng)參考下述例子:
實(shí)例
頁面已加載后才會(huì)運(yùn)行腳本:
<script src="demo_defer.js"defer></script>
瀏覽器支持
所有主流瀏覽器都支持 defer 屬性。
定義和用法
defer 屬性是一個(gè)布爾屬性。
defer 屬性規(guī)定當(dāng)頁面已完成加載后,才會(huì)執(zhí)行腳本。
注意:defer 屬性僅適用于外部腳本(只有在使用 src 屬性時(shí))。
注意:有多種執(zhí)行外部腳本的方法:
- 如果 async="async":腳本相對(duì)于頁面的其余部分異步地執(zhí)行(當(dāng)頁面繼續(xù)進(jìn)行解析時(shí),腳本將被執(zhí)行)
- 如果不使用 async 且 defer="defer":腳本將在頁面完成解析時(shí)執(zhí)行
- 如果既不使用 async 也不使用 defer:在瀏覽器繼續(xù)解析頁面之前,立即讀取并執(zhí)行腳本
提示:如果您的腳本不會(huì)改變文檔的內(nèi)容,可將 defer 屬性加入到 <script> 標(biāo)簽中,以便加快處理文檔的速度。因?yàn)闉g覽器知道它將能夠安全地讀取文檔的剩余部分而不用執(zhí)行腳本,它將推遲對(duì)腳本的解釋,直到文檔已經(jīng)顯示給用戶為止。
HTML 4.01 與 HTML5之間的差異
無。
HTML 與 XHTML 之間的差異
在 XHTML 中,禁止屬性最小化,defer 屬性必須定義為 <script defer="defer">。
語法
<script defer>
HTML <script> 標(biāo)簽