無論是Tweet Button和Facebook Like小工具告訴你這樣的事情添加到您的HTML:爲什麼JavaScript小部件(如Tweet Button和Facebook Like)動態添加腳本?
<script>
!function(d,s,id){
var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id)){
js=d.createElement(s);
js.id=id;
js.src="https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js,fjs);
}
}(document,"script","twitter-wjs");
</script>
其動態地將<script>
元素,然後加載的實際部件JavaScript的DOM。這是爲什麼動態完成的,而不是直接加載像這樣的小部件(這是更簡單和更清潔):
<script src="https://platform.twitter.com/widgets.js"></script>
我能想到的是,它推遲腳本加載到頁面加載的唯一原因,但這種可以通過在</body>
關閉前放置<script>
來輕鬆完成。
這是一個很好的問題,但它確實讓我想起了[這個問題](http://stackoverflow.com/questions/14666658的/文檔createelementscript-VS-腳本的src /)。 – MikeSmithDev
@MikeSmithDev是的,同樣的事情。我在發佈之前做過搜索,但沒有找到。 – mgorven