위치가 고정 된 앵커 DOM 요소가 필요합니다. 유동 캔버스 크기의 facebook 캔버스 앱에 고정되어 있습니다. 앱이 캔버스 iframe에서 실행되기 때문에 CSS 위치의 간단한 사용 : 고정이 작동하지 않음 : iframe 콘텐츠가 주변의 Facebook 페이지에서 스크롤 이벤트를 보지 못합니다.위치 : 페이 스북 캔버스 (iframe)에서 고정
이 문제를 해결하기위한 첫 번째 방법은 facebook API를 ping하여 스크롤 위치를 얻는 것입니다. 일반적으로이 수행 작업을
# 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)
: 그래서 우리는 $로 (문서) .ready()를이 넣어. 그러나 페이스 북 API에 대한 호출이 트리거 될 때 브라우저 재로드 버튼과 마우스 커서가 깜박이기 때문에 사용자 경험이 좋지 않습니다.
이 방법을 개선하는 방법이나 모방 위치를 구현하는 방법에 대한 제안 사항은 iframe 내에 고정되어 있습니다.
해결 방법으로 고정 높이 캔버스 앱으로 다시 전환했습니다. 이 방법은 iframe 자체 scrollbars 및 위치 : 고정 된 작동합니다. 그러나이 접근법에는 몇 가지 다른 사소한 단점이 있습니다. 유체 높이 앱으로 문제를 해결하기 위해 뭔가를 할 수 있다면 여전히 관심이 있습니다. –
페이스 북의 iFrame에서 고정 요소를 배치하는 데 같은 방법을 사용했지만 새로운 문제에 직면 한 것처럼 보입니다. - "내 잡기 SecurityError : 원산지가"mydomain.com "인 프레임이 차단되어 개발자 콘솔에 표시됩니다. 프레임이 원점 인 "facebook.com"을 가지고 있습니다. 액세스되는 프레임은 "document.domain"을 "facebook.com"으로 설정하지만 액세스를 요청한 프레임은 그렇지 않습니다. 둘 모두 "document.domain"을 액세스를 허용하는 동일한 값으로 설정해야합니다. " 이것도 만났습니까? –