1

I try to add simple Like button to my Facebook Canvas app (iframe). The button (and all other XFBML elements) works in Safari, Firefox, Opera, but in Google Chrome.

How can I find the problem?

EDIT1:

This is ERB-layout in my Rails app

<html xmlns:fb='http://www.facebook.com/2008/fbml' xmlns='http://www.w3.org/1999/xhtml'>
...
<body>
...
<div id="fb-root"></div>
<script>
    window.fbAsyncInit = function() {
      FB.init({
        appId: '<%= @app_id %>', status: true, cookie: true, xfbml: true
      });
      FB.XFBML.parse();
    };
    (function() {
      var e = document.createElement('script'); e.async = true;
      e.src = document.location.protocol +
        '//connect.facebook.net/en_US/all.js#appId=<%=@app_id%>&amp;amp;xfbml=1';
      document.getElementById('fb-root').appendChild(e);
    }());
    FB.XFBML.parse();
</script>
<fb:like></fb:like>
...

JS error message in Chrome inspector:

Uncaught ReferenceError: FB is not defined
  (anonymous function)
Uncaught TypeError: Cannot call method 'appendChild' of null
  window
  (anonymous function)

Probably similar to http://forum.developers.facebook.net/viewtopic.php?id=84684

  • 1
    I've had similar problems. Are you using any extension? – Agos Jan 13 '11 at 10:12
  • @Agos, you are right - it was FB Disconnect :). Very stupid. I was testing it Incognito mode, where all ext-s are off. That time there was another error so I thought that it something in JS. Do'h!.. – Andrei Jan 13 '11 at 10:44
1

I'm doing exaclty what you are doing. And it works. Try this snippet.

<div id="fb-root"></div>

<script src="http://connect.facebook.net/en_US/all.js"></script>

<script>

  FB.init({appId: '<%= @app_id %>', status: true, cookie: true, xfbml: true});

  FB.Event.subscribe('auth.sessionChange', function(response) {

    if (response.session) {

      // A user has logged in, and a new cookie has been saved

    } else {

      // The user has logged out, and the cookie has been cleared

    }

  });

</script>
| improve this answer | |
  • the same error. very weird problem. – Andrei Jan 12 '11 at 23:30
  • hmm..but you should have the xmlns:fb after the xmlns.. i will look into it.. – andrewk Jan 13 '11 at 0:18
1

Browsers in corporate environments (or with a VPN) behind a Zscaler router will fail to load script links where Zscaler would temporarily redirect to its content warning page "Internet Security by Zscaler". Similarly, some clicks in StackOverflow would stop responding. As a work-around I find and paste the failing links to the address bar and confirm my intent to the Zscaler's prompt.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.