В моето 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