我正在经历一种奇怪的行为。我正在使用Facebook的feed对话框javascript(FB.ui)。它在一周前工作,但现在不是。当我点击一个按钮时,Facebook窗口会显示,但在加载一段时间后,它会自动消失而不会显示任何错误消息。有任何想法吗?这是我的代码:
HTML:
<a href="#" class="button" id="fb-request">Share with friends</a>
JavaScript的:
$("#fb-request").click(function () {
FB.ui({
method: 'feed',
name: 'Check out website',
link: 'http://www.website.com',
picture: 'http://website.com/f8.jpg',
caption: 'A website.',
description: 'website.',
message: 'website'
},
function (response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
);
});
答案 0 :(得分:0)
我刚测试了这个,它没有问题。你在javascript控制台窗口中收到任何错误吗?你用appId调用FB.init了吗?是否从Facebook应用设置中指定的域/网址访问该页面?你的网页上有一个id为“fb-root”的div吗?你把那个jquery调用放在document.ready函数中吗?您是否尝试使用其他应用ID,以确保您当前的应用ID尚未被列入黑名单以进行垃圾邮件发送?
我的测试有效:
<!DOCTYPE html>
<html>
<body>
<div id="fb-root"></div>
<a href="#" class="button" id="fb-request">Share with friends</a>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ appId : '**yourAppId**', status : true, cookie : true, xfbml : true });
$(document).ready(function() {
$("#fb-request").click(function () {
FB.ui({
method: 'feed',
name: 'Check out website',
link: 'http://www.website.com',
picture: 'http://website.com/f8.jpg',
caption: 'A website.',
description: 'website.',
message: 'website'
},
function (response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
});
});
});
</script>
</body>
</html>
答案 1 :(得分:0)
最近几周,Facebook在FB.ui对话框中引入了CSS class =“loading”。它与CSS中我们自己的“加载”类冲突。经过10多个小时的调试,我们终于能够解决它了。干得好FB。 - (