Javascript 为什么Facebook要我用JS代码而不是脚本标签?
如果我想将Like按钮添加到我的页面中,我应该在开始的body标记之后将下一个代码插入到我的html代码中Javascript 为什么Facebook要我用JS代码而不是脚本标签?,javascript,facebook,Javascript,Facebook,如果我想将Like按钮添加到我的页面中,我应该在开始的body标记之后将下一个代码插入到我的html代码中 <div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id;
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/ru_RU/sdk.js#xfbml=1&version=v2.5&appId=12345";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/ru#ru/sdk.js#xfbml=1&version=v2.5&appId=12345”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
为什么我不能简单地使用script标签呢
<script async src='//connect.facebook.net/ru_RU/sdk.js#xfbml=1&version=v2.5&appId=12345"'>
使用facebook的说明有什么好处?facebook建议这样做的原因(就像谷歌和其他许多公司一样)是为了减少页面中http请求的数量(减少1)。更少的请求通常意味着更快的网站(http2的情况略有不同)。这也是为什么建议将脚本和css文件连接在一起的原因 您可以在线阅读有关http请求或其他位置的更多信息
编辑:我想我一定是看错了这个问题。这样做不会引发另一个http请求。另一个答案更准确。可能有几个原因:
- 根据,IE 8和IE9不支持script.async属性
- 如果页面上已有facebook jssdk元素(可能已由其他代码段加载),则facebook代码段不会加载脚本
- 您的解决方案没有准备
。