FB.Canvas.getPageInfo не работает - PullRequest
2 голосов
/ 14 марта 2012

Я работаю над приложением 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

...