iframe을 사용하는 facebook 앱이 있습니다.페이 스북 앱 사파리의 iframe 로그인 문제
facebook은 내 웹 사이트를 iframe 안에로드합니다. 링크를 클릭하면 내 웹 사이트에서 라이트 박스를 사용하여 iframe에 페이스 북 로그인 정보를 표시합니다. 모든 것이 ff, 즉 크롬에서 잘 작동합니다. 사파리에서 프레임은 무한정 다시로드됩니다.
PHP 코드
window.fbAsyncInit = function() {
FB.init({
appId : '<?=$appId?>',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
check_login_session();
// whenever the user logs in, we refresh the page
FB.Event.subscribe('auth.login', function() {
$.browser.safari = ($.browser.safari && /chrome/.test(navigator.userAgent.toLowerCase())) ? false : true;
window.location.href = window.location.href;
});
};
아이디어 login.php
에서$me = null;
$session = $facebook->getSession();
if ($session) {
try {
$me = $facebook->api('/me');
$_SESSION['facebook'] = $me;
} catch (FacebookApiException $e) {
}
}
if($me) require_once("logged.php");
else require_once("login.php");
자바 스크립트는 감사하겠습니다!
감사합니다.
나는 방금 http://stackoverflow.com/questions/172223/how-do-i-set-cookies-from-outside-domains-inside-iframes-in-safari에 흥미로운 코멘트를 발견했습니다. 나는 Broote의 해결책이 효과가있을 것이라고 생각하지만, 그가 쓴 것을 이해하지 못합니다. – Moon
http://forum.developers.facebook.net/viewtopic.php?pid=257432#p257432 – Moon
누구에게나 완벽한 솔루션을 발견했습니다. 키스하겠습니다 !!!!! – Moon