比方說,我在www.website.com/javascripts/application.js
,我想第三方網站加載了我的主機服務器上的JavaScript文件。哪個JavaScript加載選項對頁面加載時間的影響最小?
在這些第三方網站,你只需要添加:
<script src="www.website.com/javascripts/application.js" type="text/javascript"></script>
,但它需要完全加載頁面之前評估的所有JavaScript。
相反,如果第三方網站有這樣的事情
<script type="text/javascript>
var script = document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'www.website.com/javascripts/application.js');
document.getElementsByTagName('head').appendChild(script);
</script>
將本作在頁面加載時間有什麼區別?它會異步加載JavaScript文件嗎?
那麼如果該網站有
<script src="www.website.com/javascripts/dynamic_loader.js" type="text/javascript"></script>
其鏈接到動態生成腳本標記鏈接到application.js
文件右以上示例腳本?
這將是最好的選擇,爲什麼?有沒有更好的方式來加載我不知道的第三方JavaScript?
雖然如果OP只是把正常'script'標籤頁面最底部,儘管它可能會推遲「DOM已準備就緒」事件的種類(和窗口'load'事件),它不會阻止頁面被渲染和響應。事實上,這是通常的「把腳本放在最底部,如果你可以」的建議(例如來自[這裏](http://developer.yahoo.com/performance/rules.html)),以及有很多原因可以避免使用「dom ready」類型的事件(你不能總是避免它們;例如,圖書館經常需要,因爲他們不知道它們將被加載到何處)。 – 2012-01-12 23:34:42
@ T.J.Crowder - 在頁面底部加載腳本是否仍然會延遲頁面的響應(儘管它不會延遲渲染)?畢竟,在加載所有常規(非異步)腳本之前,您不能擁有任何JavaScript事件。 – jfriend00 2012-01-13 03:04:08