我拉我的头发在这个:( 花了10个小时,但没有出来Facebook的IFRAME stream.Publish无法关闭对话框或跳过
我读这个线程 http://forum.developers.facebook.com/viewtopic.php?pid=198128
,但它并没有太大的帮助。
我运行一个本地开发的App Engine服务器(本地主机:8080)
iframe应用程序
,所以我有几个问题0123。 1)在safari 4.0.4上,发布故事对话框与所有图像/数据/ action_links很好地配合。在发布故事(或跳过)时,对话框变为空白并且不会关闭。
2)我在firefox 3.5.8上测试了相同的代码,对话框出现了所有的图像/数据/ action_links,但整个事情都冻结了。
单击对话框上的任意位置根本没有帮助。如果我足够耐心并单击“发布”,我必须在对话框显示“故事已发布”前10秒等待abt。然后它冻结。 (点击跳过并没有什么区别)。
顺便说一句,没有“按钮点击效果”:即:按钮看起来不像他们在点击时“下沉”。
我检查了终端上使用命令“顶” Firefox的内存,这一切似乎还好,在CPU进程没有秒杀(我可以打开其他Firefox的标签和对他们的工作)
我在解决徒劳的尝试问题...
1)所以我想,嗯,这可能是因为本地开发(localhost)的问题?我将代码上传到生产服务器,发生同样的事情。
2)I尝试一个较旧的Firefox(3.1)和相同的问题依然存在(冷冻)
3)我注意到,我种使用2个不同的FB特征(Connect和XFBML)。我在PostStory函数中使用的连接功能。标签之前使用的XFBML功能。
所以我想,嗯......我试着用FB_RequireFeatures [ “XFBML”]替换FB_RequireFeatures [ “连接”]功能。没有改变。我仍然无法关闭故事对话框。
4)有没有可能我没有正确连接到xd_receiver.htm?
我xd_receiver.htm存储在我的文件夹/媒体/ fbconnect
在我的app.yaml
handler:
- url: /fbconnect
static_dir: media/fbconnect
,所以我想一个连接必须与xd_receiver.htm建立。任何我可以测试的方式?
我这里还有所有的代码:
<script type="text/javascript">
//post story function
function PostStory() {
//init facebook
FB_RequireFeatures(["Connect"], function() {
FB.Facebook.init('my_app_key', "/fbconnect/xd_receiver.htm");
FB.ensureInit(function() {
var message = 'the message';
var attachment = {
'name': 'a simple app to send gifts',
'href': 'http://apps.facebook.com/my_app_name', 'caption': '{*actor*} sent u something',
'description': 'some description',
"media": [{ "type": "image", "src": "http://bit.ly/105QYr", "href": "http://bit.ly/105QYr"}]
};
//action links can only be seen AFTER the feed is published
var action_links = [{ 'text': 'Send him/her a gift back!', 'href': 'http://somelink.com'}];
FB.Connect.streamPublish(message, attachment, action_links, null, "Share the gift with your friends", callback, false, null);
});
});
function callback(post_id, exception) {
//alert('Wall Post Complete');
}
}
</script>
只是/ body标签的结束之前,我有这样的:
<script type="text/javascript">
功能callFBInit(){ FB_RequireFeatures( [” XFBML“], function(){ FB.Facebook.init(”my_app_key“,”/fbconnect/xd_receiver.htm“); } ); } callFBInit();
顺便说一句,我xd_receiver.htm包含:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns=� http://www.w3.org/1999/xhtml� >
<head>
<title>cross-domain receiver page</title>
</head>
<body>
<script src=�http://static.ak.facebook.com/js/api_lib/v0.4/xdcommreceiver.debug.js� type=� text/javascript� ></script>
</body>
</html>
希望你们可以帮忙。 thx
@ tek512感谢张贴这个 - 与我们自己的应用程序有相同的问题!让我们看看这是否有效! :) – pageman 2010-03-09 19:41:28