2014-09-10 6 views
0

Я хочу применить метатег только для мобильных устройств, а не для планшетов. Цель состоит в том, чтобы уменьшить масштаб страницы в мобильных устройствах. Я получил условие ниже, но проблема заключается в том, что он также применяется на планшете, так как есть и Android-планшеты.Автоматическое обнаружение только мобильного браузера (через user-agent?) Not tablet

<script> 
    if(navigator.userAgent.match(/Android/i) 
    || navigator.userAgent.match(/webOS/i) 
    || navigator.userAgent.match(/iPhone/i) 
    || navigator.userAgent.match(/iPod/i) 
    || navigator.userAgent.match(/BlackBerry/i) 
    || navigator.userAgent.match(/Windows Phone/i)) { 
    document.write('<meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=0.25" />'); 
} 
    </script> 

Я знаю, что это старый вопрос, но я не могу найти релевантный ответ.

+0

Я думаю, что вы собираетесь об этом неправильный путь. Я бы посмотрел на то, чтобы ваш сайт действительно реагировал на css. Проверьте загрузочную сетку с бутстрапом – IanS

+0

Мы сделали сайт отзывчивым до таблеток, но у нас есть другой сайт для мобильных устройств, поэтому я хочу уменьшить страницы только для мобильных устройств. – Praveen

ответ

1

Мобильный Android имеет строку «Мобильная» в заголовке User-Agent. Планшет Android не работает. Поэтому, чтобы получить только мобильный телефон, вам нужно найти слово «Мобильный», а также «Android». Однако есть несколько компаний-планшетов, которые уходят от этого соглашения, поэтому для тех, кто любит XOOM, вам нужно будет проверить модель планшета, если вы хотите обнаружить эти планшеты.

Вы также можете проверить это: http://wurfl.io/. Я думаю, что это может помочь сделать что-то вроде следующего:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script> 

if(WURFL.form_factor != "Tablet"){ 
    // do mobile things here 
} 

Для контекста, сценарий возвращает объект JSON следующим образом:

{ 
"complete_device_name":"Samsung Galaxy Tab", 
"is_mobile":true, 
"form_factor":"Tablet" 
} 
+0

Это приятное решение, но я не могу использовать любой плагин. Любое другое решение? – Praveen

+0

Как я уже сказал в первой части, я думаю, что единственным другим решением является проверка мобильной строки в пользовательском агенте, а затем проверка имени устройства для тех, у кого у вас нет этого ключевого слова – benderman

Смежные вопросы