Как определить серверную часть Mobile Safari с помощью PHP?
-
06-07-2019 - |
Вопрос
Mobile Safari — очень функциональный браузер, и он прекрасно справляется с моим веб-сайтом.Однако на моей странице есть несколько элементов, которые можно оптимизировать для просмотра на этом устройстве;например, предоставление определенных миниатюр, которые меньше, чем аналоги на рабочем столе, чтобы помочь разместить на экране больше контента.
Я хотел бы знать, как я могу обнаружить Mobile Safari (предпочтительно все версии) с помощью PHP, чтобы затем я мог обслуживать а) конкретный файл CSS и б) миниатюры изображений разного размера.
Решение
Сравните строку пользовательского агента со строкой, используемой в 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';
}
?>