На сегодняшний день у многих высоко посещаемых и популярных сайтов есть мобильная версия. Но как же эти ресурсы определяют: с чего зашел пользователь на сайт? Этот вопрос мы и рассмотрим в статье, а также разберем скрипт, который поможет нам обеспечить необходимый функционал.
Реализовать эту возможность конечно можно самому, и это будет не так уж сложно, но займёт определённо много времени. Поэтому лучше воспользоваться готовым решением, которое можно совершенно бесплатно скачать на сайте detectmobilebrowsers. На данном ресурсе вы сможете найти скрипт, реализованный на различных языках, настройках сервера и библиотек: Apache, ASP, ASP.NET, ColdFusion, C#, IIS, JSP, JavaScript, jQuery, Lasso, Nginx, Node.js, PHP, Perl, Python, Rails.
После того, как вы скачаете нужный вам код, то, открыв файл, найдёте там два огромных регулярных выражения, которые и творят магию. Вот пример PHP кода:
Как видно ничего сложно в скрипте не происходит. Берётся User-Agent из серверной переменной. Далее при помощи регулярных выражений определяется принадлежность браузера и, в зависимости от результата, перенаправление на нужную нам страницу.
Почему именно этот скрипт хорош? В начале статьи я говорил, что можно написать код самому, но это неблагодарное дело. На сегодняшний день столько мобильных устройств и браузеров, что можно утонуть в поиске интересующих нас User-Agent заголовков для составления собственных регулярных выражений. Тут же все фактически сделано за нас, учтено просто уйма устройств (какие именно можно узнать в разделе about), да и код периодически обновляется на сайте.
Подключение и настройка везде одинакова, кроме jQuery: необходимо поместить код из файла к себе в проект и поменять адрес, на который перенаправлять пользователя, если он зашёл с телефона.
В случае jQuery после того, как мы добавим скрипт к себе на страницу, получим новый объект browser. У этого объекта есть свои свойства: первое и основное mobile - если пользователь зайдет с телефона оно примет значение true, в противном случае false. Другие два определяют версию браузера и вид его.
Так, что если вы привыкли работать с библиотекой jQuery, то сможете очень легко определить браузер пользователя и его версию.
Вот и всё что я хотел рассказать по данной теме. В архиве вы найдёте все скрипты, актуальные на момент написания статьи.