В моем приложении FB я вызываю FB.Canvas.setSize(); чтобы соответствовать странице по длине моего контента. Это работает по назначению в Chrome, Firefox, Safari и IE. Однако может показаться, что Opera вызывает его раньше, чем остальные браузеры, и пытается изменить размер до того, как объект FB будет готов принять такой запрос. Он не генерирует исключение JS, поэтому объект FB не равен нулю, но не может изменить размер страницы. Если я поставлю точку останова до вызова изменения размера и подожду пару секунд, а затем позволю ей пройти, она ИЗМЕНИТ размер страницы. Также работают другие функции FB (запросы, фид-посты и т.д.). Есть ли какие-либо известные проблемы с Opera и Facebook JS SDK или какие-либо соображения, которые я должен учитывать в отношении того, как Opera выполняет Javascript?
Объект javascript FB не готов, когда я вызываю FB.Canvas.setSize в Opera
comment
Какую версию Opera вы тестируете?
- person kirilloid   schedule 29.02.2012
comment
Вы вызываете setSize() без параметров? Возможно, объект FB готов, но страница не полностью отрисована, поэтому размер определяется неправильно. Попробуйте указать буквальную высоту/ширину и посмотрите, заставит ли это работать.
- person Floyd Wilburn   schedule 01.03.2012
Ответы (2)
Просто чтобы вы знали, это похоже на «известную» ошибку Facebook/Opera. Вы также можете следить за прогрессом здесь: developers.facebook.com/bugs
person
Espen Larød
schedule
02.03.2012
Используете ли вы асинхронный способ интеграции FB JS, например.
<div id="fb-root"></div>
<script type="text/javascript" charset="utf-8">
window.fbAsyncInit = function() {
resizeFacebookCanvas();
}
function resizeFacebookCanvas(){
if ( FB && FB.Canvas && FB.Canvas.setSize ){
FB.Canvas.setSize({
width: 520,
height: 900
});
}
}
(function() {
var e = document.createElement('script');
e.type = 'text/javascript';
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
person
scibuff
schedule
01.03.2012
Я на самом деле нет, это повлияет на это? Или это скорее, попробуйте, и мы узнаем? хе
- person keybored; 02.03.2012