3
以非阻塞方式呈現Javascript的不同方法(效率比較)是什麼?我聽說過可以與腳本標籤一起使用的defer屬性。還有其他這樣的方法嗎?如果有,那麼它們有什麼優勢而不是延遲?使Javascript非阻塞
以非阻塞方式呈現Javascript的不同方法(效率比較)是什麼?我聽說過可以與腳本標籤一起使用的defer屬性。還有其他這樣的方法嗎?如果有,那麼它們有什麼優勢而不是延遲?使Javascript非阻塞
我聽說過可以與腳本標記一起使用的defer屬性。
是的,defer
and async
使腳本(可能)不能在初始解析/呈現期間同步運行。
是否有類似的方法,...
是的,如果你在JavaScript中創建一個script
元素,並將其追加到DOM,不託起頁面解析/渲染無論是。例如: -
<script>
(function() {
var script = document.createElement('script');
script.src = "/path/to/your/async/script.js";
document.getElementsByTagName('script')[0].parentNode.appendChild(script);
})();
</script>
...如果有然後在推遲他們有什麼優勢?
defer
和async
aren't universally supported和一些瀏覽器have some quirks around them。具體而言,IE < 9可能不按順序執行defer
'腳本,而defer
'd腳本意味着按順序處理(僅在頁面的解析/呈現期間)。如果您自己添加script
元素,則可以掛接它們的load
事件,然後加載下一個腳本(或者使用像RequireJS這樣做的功能,以及更多功能)。除此之外,沒有太多。