Facebook iframe 575px

Автор: Eugeniy Marilev
Дата публикации: 2014-05-06 10:32:45
Удивительно, но пока удалось обнаружить это странное поведение главной страницы нашего веб-приложения, которое разрабатывалось для мобильных телефонов, мы обвиняли различные технологии, выдвигали различные предложения, отчасти мистические, отчасти отчаянные. Приложение использовало HTML5, CSS3 и jQuery-Mobile в качестве навигационного движка. Проблема заключалась в том, что неверно определялась ориентация устройства (альбомная или же книжная). В любом случае начальная ориентация детектировалась как альбомная. В результате долгих поисков причины была обнаружена очень интересная, не перестаю удивляться этому, вещь внутри Facebook Javascript SDK. Цитирую:
return {
    width:575,
    height:240
};
В общем данное значение используется как минимальная (ширина, высота) для скрытого фрейма, через который работают множество плагинов Facebook. Убрать этот фрейм нельзя, равно как и не выйдет придать ему нужную вам ширину, высоту и видимость. Вот так строго вшита без какого либо описания константа в код SDK... Но решение проблемы существует. Если вы подключаете SDK следующим образом:

Что меня слишком удивило, и полностью до сих пор не могу понять, но виноват в применении минимальной ширины параметр «status». Смеетесь? Да, смешно, а времени на поиск было потрачено четыре с лишним часа. Смело ставьте этот параметр в «false». Никаких новых ошибок не было замечено после отключения данного флага инициализации Facebook SDK. После отключения флага прекрасно и во всех браузерах работают функции login, logout, getLoginStatus, и т.п. Вот так всегда - нам, обычным разработчикам, программисты Facebook не оставляют выбора - им простителен подобный код. Но зато, мы всегда рады подобным пасхальным яйцам, и в скучный зимний рабочий понедельник есть с чего посмеяться в офисе... Как вывод из этого топика, скажу следующее: если у вас что-то не получается, не делайте поспешных выводов, не валите вину на технологии, с которыми вы мало знакомы, а докапывайтесь до самой сути, истоков возникновения ошибок.. даже если вы потратите на это много времени. Вы приобретете бесценный опыт, которому вас не научит ни книга, ни учитель.
Комментарии к статье
Комментарии:
Нет результатов.
Только зарегистрированые пользователи могут оставлять комментарии