javascript - facebook app iframe login issue on safari -
i have facebook app uses iframe.
facebook loads website inside iframe. when click link, website display iframe using lightbox display facebook login. works fine on ff, ie, chrome. on safari, frame keeps reloading infinitely.
php code
$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");
javascript in login.php
window.fbasyncinit = function() { fb.init({ appid : '<?=$appid?>', status : true, // check login status cookie : true, // enable cookies allow server access session xfbml : true // parse xfbml }); check_login_session(); // whenever user logs in, refresh page fb.event.subscribe('auth.login', function() { $.browser.safari = ( $.browser.safari && /chrome/.test(navigator.useragent.tolowercase()) ) ? false : true; window.location.href = window.location.href; }); };
any ideas appreciated!
thanks!
if u r still looking solution try building p3p headers http://www.p3pwriter.com/lrn_121.asp
usually there security issue when setting cookies inside iframe, p3p headers act agreement between website , client's computer guaranteeing information saved in cookies wont misused.
quick solution: http://planet.admon.org/how-to-implement-p3p-http-headers-for-cross-site-cookies/
what do: copy paste in header:
<?php header('p3p: cp="cura adma deva psao psdo our bus uni pur int dem sta pre com nav otc noi dsp cor"') ?>
thats it!
Comments
Post a Comment