facebook iframe stream.Publish cannot close dialog or skip

Posted by fooyee on Stack Overflow See other posts from Stack Overflow or by fooyee
Published on 2010-02-21T17:30:30Z Indexed on 2010/03/08 13:21 UTC
Read the original article Hit count: 787

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

© Stack Overflow or respective owner

Related posts about facebook

Related posts about facebook-connect