Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

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

 

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

Рекомендованные сообщения

Опубликовано:

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

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

Опубликовано:
  • Автор

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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

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

 

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

 

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

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.