Измените размер холста Facebook после того, как он уже был установлен с Canvas.setSize - PullRequest
0 голосов
/ 08 ноября 2011

Это не вопрос полос прокрутки. Вот вещь:

  1. Вы загружаете свое приложение на холсте Facebook и делаете FB.Canvas.setSize ({height: 900}); (работает)

  2. Вы переходите в другой раздел вашего приложения (какая-то ссылка) и затем делаете FB.Canvas.setSize ({height: 1300});

  3. Второй шаг не работает. Приложение iframe остается на высоте 900 пикселей.

Что мне нужно, так это динамически изменять высоту холста после того, как она уже установлена. Согласно документации Facebook, это должно работать. Они не указывают, можете ли вы или не можете изменить высоту холста после его установки.

Я пробовал тот же метод на вкладках страниц, и он работает, я могу правильно изменить размер вкладки с помощью setSize (), однако кажется, что страницы холста ведут себя по-разному (?).

Это код, который я использую, сразу после открытия тега body :

<div id="fb-root"></div>
<script type="text/javascript">
<!--
window.fbAsyncInit = function() {
    FB.init({appId: "XXXXXXXXXXXXXXXXXXXXX",
                       status: true,
                       cookie: true,
                       xfbml: true});       
};
(function() {
    var e = document.createElement("script"); e.async = true;
    e.src = document.location.protocol +"//connect.facebook.net/en_US/all.js";
    document.getElementById("fb-root").appendChild(e);
}());   
window.fbAsyncInit = function() {
    FB.Canvas.setSize({height:1300});
}
//-->
</script>

Дизайнер создал приложение Canvas разной высоты, и до сих пор его было трудно реализовать.

1 Ответ

1 голос
/ 08 ноября 2011

Вы назначаете разные вещи для window.fbAsyncInit в двух разных местах.Вам нужно просто избавиться от второго назначения и переместить вызов FB.Canvas.setSize сразу после вызова FB.init (или заменить вызов FB.init, так как он вам не нужен, если вы используете SDK только для изменения размера; очевидно, сохраните его, если вы тоже делаете с ним что-нибудь аутентичное).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...