Я работаю над приложением FB и использую FB.Canvas.getPageInfo, чтобы получить прокрутку холста для установки всплывающих окон в центре экрана, потому что приложение выполняет не прокрутку, а прокрутку холста fb, чтобы найти центрэкрана на длинных страницах мне нужно получить количество пикселей, на которых прокручивается холст, а затем с некоторым плюсом и минусом я получаю центр экрана текущей позиции страницы.До вчерашнего дня все работало нормально, но не с утра, я много пробовал, но пока безуспешно.
код вызывается в функции setTimeout
, пока значение не будет получено, я принудительно устанавливаю отображение моего всплывающего окна на none и показываю изображение загрузчика.
помните, что оно работало до последней ночи
вот код
$('.popup-call-local').live('click', function(event){
//FB.Canvas.getPageInfo(function(info){alert(info.scrollTop);});
var view_name = this.id;
var check_view_name = view_name.replace(/_/g, '-');
if($('#'+check_view_name).length > 0){
$('#popupDiv').css('height',$('.wrap').css('height'));
$('#popupDiv').css('display','block');
$('#popupDiv').css('z-index',1000);
var x = Number((window.screen.width - 400) / 2);
var y = Number(event.pageY)+ 10;
$('#popupDiv').html('<img src="<?php echo base_url(); ?>images/loaderblack.gif" style="position:absolute; z-index:50000; left:'+x+'px; top:'+y+'px;" />');
$('#'+check_view_name).css('z-index',2000);
var viewportHeight = window.screen.height;
var windowScrolled = -1;
$foo = jQuery('#'+check_view_name),
elWidth = $foo.width(),
elHeight = $foo.height(),
elOffset = $foo.offset();
setTimeout(function(){FB.Canvas.getPageInfo(function(info){windowScrolled=info.scrollTop; while(windowScrolled == -1){
$('#'+check_view_name).css('display','none');}
var v = (((viewportHeight - elHeight) / 2) + (windowScrolled) - 100); if(v<=0){v=Number(v)*Number(-1);}$('#popupDiv').html('');$('#'+check_view_name).css('display','block');$('#spinner').css('display','none');$('#'+check_view_name).css('top', Number(v) + 'px');});}, 3000);
}else{
return false;
}
});
РЕДАКТИРОВАТЬ скважину
только что обнаружил, что сообщается об ошибке в Facebook здесь http://developers.facebook.com/bugs/185097921606322?browse=search_4f60961cc946d7143000700