Настройка положения диалогового окна FB.ui()

Я использую Fb.ui(), чтобы опубликовать обновление на стене пользователя, но диалог всегда отображается в том же месте в моем браузере (центральная средняя, ​​если прокручивается). Проблема в том, что я открываю диалог в нижней части экрана. Есть ли способ, чтобы диалоговое окно отображалось для текущего местоположения прокрутки пользователя?

Ответ 1

Диалоговое окно FB.ui() должно быть уже позиционировано относительно места, в котором находится пользовательская прокрутка.

Если нет, вы можете просто поместить свой # fb-root в CSS:

#fb-root { position:fixed; top:10%; }

Таким образом, pop-in всегда будет находиться в позиции прокрутки пользователя, а также следовать ему, если он продолжит прокрутку вверх или вниз по странице.

Ответ 2

Я использую этот фрагмент кода, чтобы установить положение диалога вверху страницы, но вы можете использовать его для установки позиции в любом месте. Этот код использует библиотеку jQuery

            setInterval(function(){
                var dialog = $('.fb_dialog');

                for(var i = 0; i < dialog.length; i++)
                {
                    var d = $(dialog[i]);
                    if(parseInt(d.css('top')) > 0 && parseInt(d.css('top')) != 195)
                    {
                        d.css('top', '195px')
                    }
                }
            }, 500);

Ответ 3

В facebook записывается диалоговый html-код в <div class="fb-root"></div>, поэтому, если вы его окружаете с помощью <div style="position: absolute;"></div>, появляется диалоговое окно, в которое вы помещаете этот код.

Например:

<div style="position: absolute">
<div class="fb-root"></div>
</div>