html5里面的延遲加載屬性


html5中給script標簽引入了 async 和 defer 屬性。

原理:
帶有async屬性的script標簽,會在瀏覽器解析時立即下載腳本同時不阻塞后續的document渲染和script加載等事件,從而實現腳本的異步加載。

使用:
帶有defer屬性的script標簽,和async擁有類似的功能。並且他們有可以附帶一個onload事件<script src="" defer onload="init()">

區別:
async和defer的區別在於:async屬性會在腳本下載完成后無序立即執行,defer屬性會在腳本下載完成后按照document結構順序執行

由於defer和async的兼容性問題,我們通常使用動態創建script標簽的方式來實現異步加載腳本,即

    <script>
        document.write('<script src="./plugin/lazysizes.min.js" async><\/script>');
    </script>

該方式也可以避免阻塞。

注意:document.write()也能寫入含有script標簽的字符串,但是需要轉義。寫入的script標簽中的內容會正常運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM