我已经在我的网站上实现了JavaScript SDK,如facebook JavaScript SDK网站上所述。:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID', // App ID
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
};
// 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";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
但是在类似的插件代码部分,它给了我这段代码:
<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/en_US/all.js#xfbml=1&appId=YOUR_APP_ID";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
我的第一个问题:什么是更好的代码?他们有什么不同吗?
我的第二个问题是关于按钮或注释框的HTML5或XFBML呈现。我运行一个wordpress博客,那不是html5。
我的第二个问题:使用的最佳代码是什么,HTML5或XFBML?并且比另一个更快,或者比另一个更快支持?
谢谢!
答案 0 :(得分:5)
第一个解决方案异步加载Facebook JavaScript库,如果排列正确,将为访问者提供更快的页面呈现。将<div id=fb-root">
和window.fbAsyncInit
定义放在<body>
标记之后,以便在加载Facebook JavaScript库之前预先定义它们。
相反,function(d)
定义应位于页面底部</body>
标记之前,从而延迟Facebook库加载,直到所有其他页面元素都加载到上方。这可以确保您自己的显着页面元素首先呈现。
function(d,s,id)
代码片段看起来更新(更多参数),但我认为它不像第一个那样异步加载。因此,目前我会使用旧的(第一版)版本,直到Facebook发布较新的function(d,s,id)
代码段的异步版本。
关于第二个问题,我会继续使用XFBML代码实现,直到很少有网站访问者使用IE7或IE8。一旦他们转移到IE9 +,我就会切换到HTML5实现,它对搜索引擎,屏幕阅读器和抓取器有很多语义上的优势。