Рекомендация Apple по сниффингу браузера

Есть ли у Apple какие-либо рекомендации по использованию какой-либо техники для прослушивания браузера (например, для различения настольного IE/FF/мобильного Safari (например, iPad))/других планшетов?

Я знаю, что Apple хочет, чтобы мы не использовали для этого User-agent.

Является ли медиа-техника надежным способом отличить iPad от, скажем, Xoom?

<link rel="stylesheet" media="all and (min-device-width: 481px) and (max-device-width: 1024px)" href="ipad.css">  

person copenndthagen    schedule 20.04.2011    source источник
comment
Прочитав ответ Акамике, я теперь задаюсь вопросом, почему вы хотите это сделать? Это потому, что вы хотите, чтобы ваш сайт работал хорошо, или потому, что вы хотите отслеживать устройства?   -  person Conrad Frix    schedule 20.04.2011


Ответы (2)


Вместо того, чтобы пытаться обнаружить устройство/пользовательский агент, вы хотите сосредоточиться на проверке возможностей браузера. Это включает в себя разрешение экрана, поддержку JS, поддержку CSS и многое другое.

Медиа-запросы — это только один из многих методов, которые вы можете использовать, чтобы ваш сайт хорошо работал на многих устройствах. Чтобы начать, вот несколько полезных ресурсов:

person akamike    schedule 20.04.2011
comment
Есть ли более простой способ сделать это вместо использования сторонней библиотеки? Как вы говорите, поддержка JS? библиотека на моих страницах.. - person copenndthagen; 20.04.2011
comment
Как я уже сказал, определяйте функции, а не пользовательский агент. Modernizr (активно поддерживается) избавляет вас от добавления всех обнаружений самостоятельно, но если вам интересно, вы можете увидеть примеры обнаружения функций HTML5 по адресу diveintohtml5.org/detect.html и просмотрите исходный код Modernizr по адресу github.com/Modernizr/Modernizr/blob/master/modernizr.js - person akamike; 21.04.2011
comment
хорошо.. Когда вы говорите об обнаружении функций, будет ли оно различать, скажем, настольный Safari и мобильный Safari.. Я имею в виду, скажем, я хочу установить ширину div на 100 пикселей для настольного Safari и 50 пикселей для мобильного Safari. Я смогу применять различные стили? - person copenndthagen; 21.04.2011
comment
Для этого вы должны использовать медиа-запросы, чтобы сказать, что любое устройство с шириной устройства X использует этот стиль. Таким образом, вы поймаете Mobile Safari и все, что имеет аналогичный экран. Однако, как показано на некоторых ресурсах, на которые я ссылался для демонстрации, лучше работать в противоположном направлении, сначала создавая очень простую таблицу стилей, а затем добавляя дополнительные стили с помощью медиа-запроса, который проверяет большие экраны. - person akamike; 21.04.2011
comment
Есть еще некоторые вещи, которые вам могут понадобиться, например, автоматическое воспроизведение видео HTML5. - person Sprintstar; 09.01.2014

См. Оптимизация веб-контента в сети разработчиков Apple. Эта статья включает в себя использование условного css для определения возможностей браузера и различий в различных строках пользовательского агента, отправляемых браузерами Safari.

person Mike Sherrill 'Cat Recall'    schedule 20.04.2011