Вопрос высоты приложения Facebook - PullRequest
2 голосов
/ 01 декабря 2011

В моем приложении Facebook iframe моя домашняя страница немного длинна (около 1500 пикселей), но второстепенные страницы имеют меньшую высоту.

Я вижу, что между нижним и нижним колонтитулами Facebook много пустого пространствана дополнительных страницах.

Я проверил источник iframe и обнаружил, что свойство height установлено правильно, но внутри тега style есть другое значение высоты, которое сохраняет высоту домашней страницы.

<iframe class="canvas_iframe_util noresize" frameborder="0" scrolling="no" id="iframe_canvas" name="iframe_canvas" src='javascript:""' height="600px" style="height: 1566px; overflow-y: hidden; "></iframe>

Ниже приведен код, который я использую для изменения размера рамки (которая находится на главной странице)

<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
    FB.init({
        appId: 'my app',
        status: true, // check login status
        cookie: true, // enable cookies to allow the server to access the session
        xfbml: true// parse XFBML
    });

    FB.Canvas.setAutoResize(7);

 </script>

Мои дополнительные страницы имеют динамический размер, поэтому я не могу использовать фиксированную высоту.Любая помощь, чтобы получить дополнительные пробелы на моих вторичных страницах высоко ценится.

Спасибо

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

На днях я написал приложение Canvas для Facebook и написал этот небольшой код, чтобы решить проблему с высотой.

<script>
    FB.Canvas.setSize({ height: document.getElementById('wrapper').offsetHeight });
</script>

Конечно, этот код требует <div id="wrapper"></div>, чтобы обернуть всю страницу. Вы должны убедиться, что все вещи в DOM загружены, прежде чем запустить его. Вот почему я поставил это прямо перед </body>. Но иногда могут быть проблемы с изображениями с неопределенной высотой. Так что либо вы указываете высоту всех ваших изображений, либо можете запустить ее с помощью jQuery и document.ready ().

1 голос
/ 01 декабря 2011

Вы можете / должны переключиться на использование FB.Canvas.setAutoGrow(), так как FB.Canvas.setAutoResize() скоро будет устаревшим.

Затем установите параметр canvas height в настройках приложения на: Настраивается (по умолчанию: 800px)

В вашем приложении вы можете использовать FB.Canvas.setAutoGrow() без каких-либо параметров. Я знаю, что это, по сути, то, что вы уже делаете, но, по моему опыту, это хорошо мне помогло. Это также решает любые проблемы, когда высота вашей страницы изменяется после начальной загрузки страницы.

...