Нам хотелось бы иметь DOM-элемент привязки с позицией: исправлено в нашем приложении для холста на Facebook с изменяемым размером холста. Поскольку приложение работает в холсте iframe, простое использование css position: fixed не работает: содержимое iframe не видит никаких событий прокрутки с окружающей страницы facebook.
Первым подходом к решению этой проблемы было пинг Facebook API и получить позицию прокрутки. Поэтому мы помещаем это в $ (document) .ready ():
# refresh position of feedback button to simulate position:fixed in iframe
refresh_timer = 1000
move_button = () ->
# get scroll position from facebook
FB.Canvas.getPageInfo (info)->
# animate button to new position with an offset of 250px
$('#fdbk_tab').animate({top: info.scrollTop+250}, 100)
# start interval to do the refresh
setInterval(move_button, refresh_timer)
В общем, это работает. Однако это приводит к ухудшению работы пользователя, так как кнопка перезагрузки браузера и курсор мыши мигают, когда вызывается API api facebook.
Любые предложения о том, как улучшить этот или другие способы реализации / имитации позиции: исправлены в iframe, высоко ценятся!