Чтобы на фэйсбуке сделать приложение можно воспользоваться встраевым фреймов. Вещь хорошая, но как оказалось из пяти браузеров два проблемы дураки: ie и safari не разрешают пользоваться куками в ифрейме. То есть ли в ифрейме будет редирект, то новый инстэнс этой страницы ничего не узнает про куки.
Для ie есть решение, достаточно просто выдавать специальный хедер:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT CURa ADMa PHY ONL COM STA"');
Для сафари же решения это проблемы нет: гугл подсказал какой-то дикий анальный геморой с динамическим созданием формы и отсыланием её на сервер. Ну его к черту с таким адом сталкиваться.
Я решил это невероятным костылем: для сафари и ие (я не использовал хедеры, а обошелся одним решением для этих двух неполноценных браузеров) я дублирую куки в сессию, а SID и передаю через get-параметр.
Решение некрасивое, но быстрореализуемое.
Оптимальным же решением будет использование ajax, но в том приложении которое я правил это заложено не было.
2011.01.14 14:29