am pulling my hair over this :(
spent 10 hrs but nothing came out
I read this thread
http://forum.developers.facebook.com/viewtopic.php?pid=198128
but it didn't help much.
I'm running a local dev App Engine server ( localhost:8080 )
iframe app
so I have a couple of problems.
1) on safari 4.0.4, the publish story dialog comes up nicely with all images/data/action_links. upon posting a story (or skipping), the dialog goes blank and wouldn't close.
2) I tested the same code on firefox 3.5.8, the dialog comes up with all images/data/action_links, but then the whole thing freezes.
Clicking anywhere on the dialog doesn't help at all. If i'm patient enough and click "publish", I have to wait for abt 10 seconds before the dialog says "story is published". then it freezes. (clicking on skip doesn't make a difference).
btw, there is no "button clicking effect" : ie: the buttons don't look like they "sink down" upon clicking.
I checked the firefox memory using the command "top" on the terminal, it all seems okay, no spike in CPU processes ( i could open other firefox tabs and work on them)
My futile attempts at solving the problems...
1) so i thought, hmm could this be because of local dev (localhost) problem? I uploaded the code to the production server, the same thing happens.
2) I tried an older firefox (3.1) and the same problem persisted ( the freezing )
3) I noticed that i kind of used 2 different FB features ( Connect and XFBML). The Connect Feature I used in the PostStory function. The XFBML feature I used before the tag.
So I thought, hmm ... I tried replacing the FB_RequireFeatures["Connect"] feature with FB_RequireFeatures["XFBML"]. nothing changed. I still can't close the story dialog.
4) Is there a possibility that I didn't connect to xd_receiver.htm properly?
my xd_receiver.htm is stored in my folder /media/fbconnect
in my app.yaml
handler:
- url: /fbconnect
static_dir: media/fbconnect
so i thought a connection has to be established with xd_receiver.htm. any way I can test that?
here're all the codes:
<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>
just before the end of the /body tag, i have this:
<script type="text/javascript">
function callFBInit() {
FB_RequireFeatures(
["XFBML"],
function(){
FB.Facebook.init("my_app_key", "/fbconnect/xd_receiver.htm");
}
);
}
callFBInit();
btw, my xd_receiver.htm contains:
<!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>
hope you guys can help out. thx