2009-10-23 8 views
3

какие-либо эксперты FB здесь? После прочтения около 15 нитку на FB форумах я не знаю, куда идти дальше = (Facebook ссылки iFrame app вышли наружу

У нас есть приложение FB: плавающего фрейма http://apps.facebook.com/myapp

все ссылки, используемые в приложении, являются как: HREF = "HTTP: // www.mysite.com/index.php?parm=value ...»

теперь, когда я нажимаю на любую ссылку, я из Facebook и земли на нашем сервере.

не знаю, как чтобы решить эту проблему, используя ссылки с сервером facebook, не являясь опцией.

Спасибо, ребята для некоторых подсказок!

+0

ба-бах! ударный удар – mcintyre321

ответ

0

Вы хотите нажать на ссылку в iframe, чтобы перейти на ваш сайт? Если вы это сделаете, вы можете попробовать установить атрибут «target» привязки html на «_self», который должен открыть ссылку в iFrame.

0

У меня была эта проблема. После добавления всех параметров запроса FB от исходного IFrame к каждому из URL-адресов в моих ссылках они начали открываться в правильных окнах.

Смотрите здесь для примера http://www.keywordintellect.com/facebook-development/facebook-iframe-authentication-across-pages-ajax-requests/

2

Это потому, что Facebook теряет все переменные аутентификации и не в состоянии определить, что одновременные запросы принадлежат к одной и той же сессии, что приводит к «вспыхивает» из фрейма и заканчивая на ваших собственных страницах сервера, а не внутри Facebook.

В любое время, когда страница подается через Facebook, запрос, полученный на вашем сервере, будет включать в себя ряд переменных GET, посланных Facebook, эти переменные известны под общим названием «Подпись подлинности Facebook», которая доказывает вашему серверу, что запрос действительно действителен и исходит от Facebook; Аналогично, когда ваш сервер отправляет ответ, включение этих переменных доказывает Facebook (комбинацией session_key, api_key и sig digest), что ваш сервер является приложением, которое, по его утверждению, является.

Чтобы сохранить сеанс в вашем приложении iframe без выхода на сервер, вы должны включить эти параметры в строку запроса каждой ссылки. Вот простая функция, которая будет производить строку запроса для вас, так что вам просто нужно добавить результат этой функции для каждого URL ссылок в приложении:

function fb_sig_urlQueryString() { 
    $query = ''; 
    foreach ($_GET as $k => $v) { 
    if (strpos($k, 'fb_sig') === 0) { 
     if ($i++ > 1) $query .= '&'; 
     $query .= $k.'='.$v; 
    } 
    } 
    return $query; 
} 
Смежные вопросы