Я использую 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>