1
在Facebook上開發文檔,我看到:嵌入的JavaScript片段:標記注入VS完整的標籤
<html>
<head>
<title>My Great Web page</title>
</head>
<body>
<div id="fb-root"></div>
<script>
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<div class="fb-like"></div>
</body>
</html>
像谷歌分析,在許多其他事情,這會產生一個腳本標記,並將其插入到DOM 。
爲什麼不只是寫<script type="text/javascript" src="someUrl.com/etc"></script>
開始與?
我認爲它能夠防止裝載/阻止行爲的頁面加載(又名異步)後注射。是異步的唯一原因?
爲什麼不確實。你必須問Facebook。如果沒有明智的答案,不要感到驚訝。這可能是因爲他們希望瀏覽器asyncrhronously下載腳本,但瀏覽器supporrt較差。等同於將腳本元素放在頁面的底部。 – RobG
這完全正確克里斯蒂安。 Chris Coyier提供了有關異步腳本加載技術的豐富綜述:http://css-tricks.com/thinking-async/ –
這不是關於編程嵌入式系統。重新標記。 –