Facebook Приложение Iframe с несколькими страницами в Переменных сеанса Safari, не сохраняющихся

У меня есть приложение Iframe Facebook с несколькими страницами PHP в нем.

У меня есть некоторые ссылки, которые указывают относительно на файлы в мой "iframe папка".

Наличие некоторых проблем с переменными сеанса в iframe. Я установил некоторые переменные сеанса, но они не сохраняются от одной страницы до другого.

Это действительно работает над другими браузерами.

Я читал, тот Safari не поддерживает Междоменные cookie, и это могло бы быть проблемой, но я не уверен, как зафиксировать это.

Какая-либо справка?

15
задан Bathan 22 April 2010 в 18:09
поделиться

1 ответ

Я написал сообщение в блоге , на которое Доминик ссылается в своем ответе.

Проблема в том, что по умолчанию Safari принимает файлы cookie только с сайтов, которые вы посещаете. Это исключает «сторонние» файлы cookie. Safari рассматривает страницу внутри IFRAME как сторонний сайт, и до тех пор, пока вы не начнете взаимодействовать с этим контентом (например, щелкнув ссылку), он будет отказываться от этих файлов cookie.

Ваш PHP-код должен установить cookie на первой странице, которая использует сеанс, чтобы этот сеанс сохранялся с одной страницы на другую, но если переменные сеанса находятся на самой первой странице в IFRAME, у вас есть проблема курицы и яйца.

Мое решение - сохранить все специальные параметры Facebook до второй страницы, загруженной в IFRAME. Поскольку вы взаимодействовали с ним, файлы cookie, установленные на второй странице, будут сохраняться, и это позволяет вашему PHP-коду сохранять любое состояние, которое ему необходимо для обратной связи с Facebook.

Это вряд ли поможет вашему сеансу PHP, поэтому я предлагаю добавить еще один параметр к ссылкам на первой странице, который позволяет второй странице искать сеанс или иным образом воссоздавать его.

11
ответ дан 1 December 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: