Я искал высоко и низко это и могу легко воспроизвести это. Работает абсолютно новый PHP SDK, а JS идет прямо из Facebook через HTTPS-соединение. Мой «MyAppId» и домен были изменены в следующем коде. Замени свой собственный на воспроизведение.
Это с Firefox 8 и Firebug.
Код для воспроизведения:
`
<body>
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: 'MyAppID',
status: true,
oauth : true,
cookie: true,
channelURL : 'https://www.mydomain.com/channel.html'
});
FB.Canvas.setAutoResize();
FB.Canvas.scrollTo(0,0);
};
(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);
}());
</script>
Test
</body>
</html>
`
Определенно, именно вызовы FB.Canvas генерируют ошибку. Если я закомментирую оба, нет ошибки. Если я раскомментирую один или другой или оба - Ошибка.
Код работал нормально всего несколько дней назад. Ориентация на верхнюю часть страницы и правильное масштабирование фрейма. Я считаю, что это ошибка FB JS.