내 Facebook 캔버스 페이지에서 외부 웹 사이트로 리디렉션 할 수 있습니까? 나는 블로그와 stackoverflow 답을 다음과 같은 형태로 보았다 :Facebook 캔버스 페이지에서 웹 사이트로 리디렉션
<script>
window.top.location = 'http://www.yoursite.com/';
</script>
불행히도 이런 종류의 해결책은 작동하지 않는다. top.location.href, window.location 및 location.href도 시도했습니다 ... 아무것도 작동하지 않습니다. Facebook이 이러한 종류의 코드를 파싱하여 자바 스크립트에서 리디렉션 할 가능성을 제거 했습니까? 아직 리디렉션 할 수있는 방법이 있습니까?
UPDATE : 무슨 일이 자바 스크립트 리디렉션 명령이 결코 웹 페이지의 역할과 같다. 사실, 파이어 버그를 통해 소스 코드를 볼 때 자바 스크립트 리디렉션이 없습니다.
업데이트 2 : 내가 window.top.location = 'http://www.yoursite.com/';
을 시도하고 위의 다른 변화 할 때 다음과 같은 자바 스크립트 오류가 내 캔버스 페이지를 형성 얻을. 페이스 북이 윈도우에 액세스, 상단 또는 위치 글로벌 자바 스크립트 변수를 허용하지 않는 것 같다
Uncaught ReferenceError: a217374027657_location is not defined
Uncaught ReferenceError: a217374027657_window is not defined
Uncaught ReferenceError: a217374027657_top is not defined
이 흥미롭게 점에서 document.location = 'http://www.yoursite.com/';
작품은 예외가없는이 ...하지만 물론 웹 페이지가 리디렉션되지 않습니다.
업데이트 3 : 알아 냈어! Javascript 리디렉션은 iframe 캔버스에서만 작동합니다. FBML 대신 iframe을 사용하려면 고급 화면에서 설정을 변경해야했습니다.
을 침해 할 수있는 외부 사이트로 사용자를 리디렉션, 조심? – shanethehat
아무 반응이 없습니다. 캔버스 웹 페이지가 리디렉션되지 않고 그냥 놓여집니다. –
@at : 업데이트 해 주셔서 감사합니다. 이제 나는 무엇이 잘못되었는지 이해합니다. –