Как определить серверную часть Mobile Safari с помощью PHP?

StackOverflow https://stackoverflow.com/questions/186734

Вопрос

Mobile Safari — очень функциональный браузер, и он прекрасно справляется с моим веб-сайтом.Однако на моей странице есть несколько элементов, которые можно оптимизировать для просмотра на этом устройстве;например, предоставление определенных миниатюр, которые меньше, чем аналоги на рабочем столе, чтобы помочь разместить на экране больше контента.

Я хотел бы знать, как я могу обнаружить Mobile Safari (предпочтительно все версии) с помощью PHP, чтобы затем я мог обслуживать а) конкретный файл CSS и б) миниатюры изображений разного размера.

Это было полезно?

Решение

Сравните строку пользовательского агента со строкой, используемой в Safari Mobile:

Строка агента пользователя Safari Mobile

Другие советы

Спасибо, Джо, я прочитал эту страницу и обнаружил библиотеку обнаружения WebKit (в JavaScript). Я изменил код в соответствии со своими потребностями.

Для всех, кто заинтересован, вот мое решение.

<?php

/* detect Mobile Safari */

$browserAsString = 

Спасибо, Джо, я прочитал эту страницу и обнаружил библиотеку обнаружения WebKit (в JavaScript). Я изменил код в соответствии со своими потребностями.

Для всех, кто заинтересован, вот мое решение.

<*>SERVER['HTTP_USER_AGENT']; if (strstr($browserAsString, " AppleWebKit/") && strstr($browserAsString, " Mobile/")) { $browserIsMobileSafari = true; } ?>
$_SERVER['HTTP_USER_AGENT']  

Это вернет вам строку пользовательского агента, которую вы можете сравнить с мобильным сафари.

п.с. http://wurfl.sourceforge.net/ WURFL может помочь вам определить, какие UA вам нужны.

Я опубликовал новый режим для обнаружения устройств на любом языке программирования (JSP, PHP, Perl, Python .....), он называется Apache Mobile Filter - это модуль Apache ( http://modules.apache.org/search.php?id=1787 ), которые обнаруживают мобильное устройство и также могут адаптировать изображения к размеру экрана устройства.

Для получения дополнительной информации: http://www.idelfuschini.it /it/apache-mobile-filter-v2x.html

Mozilla / 5.0 (webOS / 1.0; U; ru-ru) AppleWebKit / 525.27.1 (KHTML, как Gecko) Версия / 1.0 Safari / 525.27.1 Pre / 1.0, которая является браузером для Palm Pre, и Слово «Мобильный» не существует.

Я работаю над тем, чтобы мой детектор работал полностью со всеми более новыми браузерами. Посмотрев на mytouch, G1, Palm Pre, droid и другие (но не все), я теперь уверен, что это работоспособно для всех новых телефонов:

if (preg_match (" / applewebkit / i " ;, $ _SERVER ['HTTP_USER_AGENT']) & amp; & preg_match (" / (mobile | pre) / i " ;, $ _SERVER ['HTTP_USER_AGENT']))     заголовок (" расположение: http://simplefoodie.com/iphone/?carryover= " ; .urlencode ($ _ SERVER [REQUEST_URI]));

<?php

// detect Safari only!

$string = <*>SERVER['HTTP_USER_AGENT'];

if (strstr($string, " AppleWebKit/") && strstr($string, " Safari/") && !strstr($string, " CriOS"))
    {
        echo 'See in Safari only';
    }

?>   
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top