Jump to content
Дизайн и модификация Invision Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Trotor

Автоматизация выбора стиля в зависимости от устройства

Recommended Posts

Недавно создал новый стиль для мобильных гаджетов. И туда переопределил юзер-агентов, таких как iPad, iPhone, OperaMobile, Samsung и так далее. Стандартный мобильный стиль оставил для старых смартфонов, таких как Sony Ericsson, Motorola, Nokia и так далее.

 

Всё хорошо и отлично. Если для гостей всё нормально, то для зарегистрированных посетителей есть один нюанс - многие часто чередуют заходы на форум то с персонального компа, то с мобильного гаджета. А так как выбор стиля находиться в поле skin таблицы members, то пользователям приходиться постоянно переключать стиль вручную.

 

Возможно ли это автоматизировать, что бы движок при заходе пользователя автоматически назначал ему стиль в зависимости от его устройства?

Share this post


Link to post

По умолчанию так и происходит, первым делом форум назначает стиль по юзерагенту, потом по остальным параметрам - '_fetchSkinByUserAgent', '_fetchSkinByURLMap', '_fetchSkinByApp', '_fetchSkinByMemberPrefs', '_fetchSkinByDefault'.

Но если пользователь начинает менять стили, в cookies и сессии устанавливается переменная uagent_bypass, которая запрещает переопределение стиля по юзерагенту. Действует это ограничение только во время жизни сессии или пока юзер не закроет браузер. Изменять что либо в этой логике не нужно, все правильно работает. Если отключить эту блокировку, на устройствах где стоит переопределение по юзерагенту сменить скин будет не возможно.

  • Upvote 1

Share this post


Link to post

Действует это ограничение только во время жизни сессии или пока юзер не закроет браузер. Изменять что либо в этой логике не нужно, все правильно работает. Если отключить эту блокировку, на устройствах где стоит переопределение по юзерагенту сменить скин будет не возможно.

То есть, более или менее "безопасный" режим это только уменьшить время жизни сессии?

Share this post


Link to post

Единственно безопасный и правильный режим это объяснить пользователям, что если они меняют стиль (не важно на каком устройстве) переопределение по изерагенту сохраняется до следующего захода на форуме. Если они одновременно пользуются и мобильным и десктопным устройством, нужно сказать чтобы скин не меняли иначе блокируется переопределние по юзерагенту до следущего входа на форуме или пока не закроется браузер. Сессии и все остальное трогать не нужно. Калечить форум ради одного пользователя который в течение двух минут меняет 2 устройства тоже не имеет смысла.

  • Upvote 1

Share this post


Link to post

Сессии и все остальное трогать не нужно. Калечить форум ради одного пользователя который в течение двух минут меняет 2 устройства тоже не имеет смысла.

Золотые слова - абсолютно согласен.

 

Кстати, вообще то я малость не договорил в начале темы - я думал что изначально движок сам автоматизирует этот процесс, просто новым мобильным стилем я где то сделал ошибку. Оказывается так и должно быть :)

 

P.S. Насчёт мобильного скина - что означает ссылка unlockUserAgent=1, это когда юзер в мобильном стиле кликает на кнопку полная версия. Хотел её убрать, что бы изначально был сразу выбор стилем, однако без кнопки полной версии идут глюки.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...