我正在实施facebook分享。但是我收到错误Uncaught ReferenceError: FB is not defined
。但是,如果我将代码放在getScript
函数中(在下面的代码中),那么它可以工作,但仅限于页面加载。
查看过许多答案,例如this,但无法获得解决方案。
<div id="fb-root"></div>
<script>
jQuery(document).ready(function() {
jQuery.ajaxSetup({ cache: true });
jQuery.getScript('//connect.facebook.net/en_UK/all.js', function(){
window.FB.init({
appId: 'XXX',
});
jQuery('#loginbutton,#feedbutton').removeAttr('disabled');
});
FB.ui(
{
method: 'feed',
name: 'Facebook Dialogs',
link: 'http://XXX.website',
picture: 'http://XXX.website/logoroundTR.gif',
caption: 'MyCaption',
description: 'MyDescription'
},
function(response) {
if (response) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
});
</script>
<button><fb:like href="http://XXX.website/" layout="button_count" action="like" show_faces="true" share="true"></fb:like></button>
p.s。:第二个问题:如何将按钮链接到FB.ui函数。有什么简单的方法吗?
答案 0 :(得分:0)
好的找到了一个可行的解决方案。轻微哈克。
删除FB.ui
并将其放在按钮onclick
中,效果很好。
因此,对于facebook javascript sdk的自定义标题,标题,图片和说明,可以执行以下操作:
<div id="fb-root"></div>
<script>
jQuery(document).ready(function() {
jQuery.ajaxSetup({ cache: true });
jQuery.getScript('//connect.facebook.net/en_UK/all.js', function(){
window.FB.init({
appId: 'appID',
});
jQuery('#loginbutton,#feedbutton').removeAttr('disabled');
});
});
</script>
<button onclick="javascript:FB.ui({method: 'feed',name: 'Facebook Dialogs',link: 'http://xxxY.com',picture: 'http://xxxy.com/wp-content/img/logoroundTR.gif',caption: 'SandeepCaption',description: 'SandeepDescription'});"> Click Here </button>