Как добавить на свой сайт код переадресации на мобильную версию

Задача:

Нужно определить, что пользователь зашел на сайт с мобильного устройства, и если да, то перенаправить его на "http://<mobile_site>".

"<mobile_site>" будет вида "<Ваш_домен>.shopmobilizer.ru".

Так же поддерживается суб-домен для вашего домена, например: "m.<Ваш_домен>". (Суб-домен должен быть сконфигурирован в вашем DNS как алиас / CNAME на "<Ваш_домен>.shopmobilizer.ru").

Решение:

Нужно добавить JavaScript код в "<head>" секцию сайта.

Метод 1:

<head>
  ..
  <script>
  if('ontouchstart' in window || navigator.msMaxTouchPoints > 0)
    location.href = 'http://<mobile_site>';
  </script>
  ..
</head>

Преимущества этого метода - простота. Недостаток - пользователи мобильных устройств всегда будут перенаправлены на мобильную версию.

Для решения предлагаем Метод 2:

<head>
  ..
  <script>
  (function(ALS){
  if(!ALS)return;
  if(ALS['mobile_state'] != 'not_redirect')
    ALS['mobile_state'] =
    (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0))
    ? 'redirect' : 'not_mobile';
  if((location.hash == '#mobile=no')&&(ALS['mobile_state'] == 'redirect'))
    ALS['mobile_state'] = 'not_redirect';
  if(ALS['mobile_state'] == 'redirect')
    location.href = 'http://<mobile_site>';
  })(window.localStorage);
  </script>
  ..
</head>

Метод 2 поддерживает параметр адресной строки "#mobile=no", который позволяет остановить автоматическую переадресацию. Используется переменная "mobile_state", которая сохраняется в localStorage.