FB.Canvas.scrollTo and FB.Canvas.setAutoGrow work on Windows but not in Mac

I'm developing a facebook app in my page https://www.facebook.com/BLOWUPPARTYOFFICIAL/app_449233448431335

but the page don't scroll up to top, and the page doesn't resize (showing always a vertical scrollbar).

It works on Chrome and Firefox on Windows, but I don't know why, it doesn't work on Safari, Chrome and Firefox on Mac.

I tried setting canvas height to fluid and to "fixed to 800 px", but nothing changes.

I'm not using a SSL certificate, I'm using https://secure.social-server.com/v2/ to do it. Could this be the problem?

Here is the code on one of the multple pages that try to use FB.Canvas.scrollTo and FB.Canvas.setAutoGrow():

<body>

<?php

$id = $_GET['id'];
?>

<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/it_IT/all.js#xfbml=1&appId=449233448431335";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<script type="text/javascript">
window.fbAsyncInit = function() {
    //Your app id must be added there to work
    FB.init({appId: 'xxxxxxxxxxxx', status: true, cookie: true, xfbml: true});
    //Resize the iframe when needed
    FB.Canvas.setAutoGrow(true);
    FB.Canvas.scrollTo(0,0);
};

</script>

<br /><br /><br />
<div class="invia-box">
.......

Is it a facebook javascript sdk bug??

Answers


it's not the FB.Canvas functions the problem ...

1) an other script cause an error before the Facebook Script.

2) your script declaration is not correct

try:

 <script>
window.fbAsyncInit = function () {
    FB.init({
        appId: 'YOUR_ID', // App ID
        status: true, // check login status
        cookie: true, // enable cookies to allow the server to access the session
        xfbml: true  // parse XFBML
    });

    FB.Canvas.setAutoGrow(true);
    FB.Canvas.scrollTo(0,0);

};

// Load the SDK Asynchronously
(function (d) {
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) { return; }
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
}(document));
</script>

work fine for me


Need Your Help

Should I unite business domains into one business layer

.net architecture domain-driven-design .net-assembly soa

I'm redesigning our company's existing BL+DAL. Today it is a single dll, directly referenced and is tightly coupled. I'm thinking about a service architecture that would give its services to severa...