У меня есть приложение Iframe Facebook с несколькими страницами PHP в нем.
У меня есть некоторые ссылки, которые указывают относительно на файлы в мой "iframe папка".
Наличие некоторых проблем с переменными сеанса в iframe. Я установил некоторые переменные сеанса, но они не сохраняются от одной страницы до другого.
Это действительно работает над другими браузерами.
Я читал, тот Safari не поддерживает Междоменные cookie, и это могло бы быть проблемой, но я не уверен, как зафиксировать это.
Какая-либо справка?
Я написал сообщение в блоге , на которое Доминик ссылается в своем ответе.
Проблема в том, что по умолчанию Safari принимает файлы cookie только с сайтов, которые вы посещаете. Это исключает «сторонние» файлы cookie. Safari рассматривает страницу внутри IFRAME как сторонний сайт, и до тех пор, пока вы не начнете взаимодействовать с этим контентом (например, щелкнув ссылку), он будет отказываться от этих файлов cookie.
Ваш PHP-код должен установить cookie на первой странице, которая использует сеанс, чтобы этот сеанс сохранялся с одной страницы на другую, но если переменные сеанса находятся на самой первой странице в IFRAME, у вас есть проблема курицы и яйца.
Мое решение - сохранить все специальные параметры Facebook до второй страницы, загруженной в IFRAME. Поскольку вы взаимодействовали с ним, файлы cookie, установленные на второй странице, будут сохраняться, и это позволяет вашему PHP-коду сохранять любое состояние, которое ему необходимо для обратной связи с Facebook.
Это вряд ли поможет вашему сеансу PHP, поэтому я предлагаю добавить еще один параметр к ссылкам на первой странице, который позволяет второй странице искать сеанс или иным образом воссоздавать его.