从事具有网站和 Facebook 页面的项目。它们都引用相同的 SWF 文件和 SWF 文件用于与网站/Facebook 交互的 JS 代码。
调用 FB.ui() 方法进行共享的自定义 Javascript 操作非常有效,以至于出现对话框/弹出窗口,但 Facebook 结果出现错误(“发生错误。请稍后再试。”)。我在所有浏览器中都收到此错误。
使用 stream.share 方法效果很好,但是 stream.publish 在网站上让我很伤心。值得注意的是,完全相同的代码在 Facebook 中运行。
我在两个站点上通过相同的方法加载 FBJS SDK(Facebook 页面是托管在同一服务器上的 iframe),并以相同的顺序加载页面的脚本。
function connectFacebook(score) {
// No score, share link
if ( score == 0 ) {
FB.ui({
method: 'stream.share',
u: 'http://www.example.com/'
});
// Has score, publish to wall
} else {
FB.ui({
method: 'stream.publish',
message: 'I scored '+score+' at Game!',
attachment: {
name: 'Game',
caption: 'Game caption',
description: 'I scored '+score+'! Play and share to win the prize pack!',
href: 'http://www.example.com/'
},
action_links: [
{ text: 'Game', href: 'http://www.example.com/' }
],
user_message_prompt: 'Tell your friends about Game'
},
function(response) {
if ( response && response.post_id ) {
//alert( 'Post was published.' );
} else {
//alert( 'Post wasn\'t published.' );
}
});
}
}