Мы хотели бы иметь элемент DOM для якоря с положением: зафиксировано в нашем приложении холста facebook с размером холста. Поскольку приложение работает в canvas iframe, простое использование позиции css: исправлено не работает: содержимое iframe не видит никаких событий прокрутки со страницы внешнего Facebook.Позиция: фиксированная в холсте facebook (iframe)
Первый подход, чтобы решить это, - это ping 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)
В целом это работает. Однако это приводит к плохой работе с пользователем, когда кнопка перезагрузки браузера и курсор мыши мигают при запуске вызова в facebook api.
Любые предложения по улучшению того или иного способа реализации/имитации позиции: исправлены в iframe, высоко оценены!
В качестве обходного пути мы переключились на фиксированное приложение холста высоты. Таким образом, у iframe есть собственные полосы прокрутки и позиция: фиксированные работы. Но этот подход имеет некоторые другие незначительные недостатки. Поэтому меня все еще интересует, если что-то может быть сделано для решения проблемы с помощью приложения для расчета высоты жидкости. –
Я попытался использовать тот же метод для установки фиксированных элементов в моем iFrame Facebook, и мне кажется, что у меня возникла новая проблема -> В моей консоли разработчика показано, что «Uncaught SecurityError: заблокировано фрейм с источником« mydomain.com »от доступа к кадр с источником «facebook.com». Доступ к кадру задают «document.domain» на «facebook.com», но обратный доступ к кадру не имеет. Оба должны установить «document.domain» на одно и то же значение, чтобы разрешить доступ. " С этим вы столкнулись? –