Когда дело доходит до обнаружения браузера пользователя в PHP, выбор между использованием $_SERVER ['HTTP_USER_AGENT'] и возникает функция get_browser. Каждый подход имеет свои преимущества и недостатки.
$_SERVER['HTTP_USER_AGENT'] предоставляет необработанную строку пользовательского агента, которая содержит информацию о браузере, операционной системе и другие сведения, специфичные для клиента. Этот метод широко поддерживается и предлагает полный набор данных для обнаружения браузеров. Однако важно отметить, что пользовательские агенты могут быть подделаны или изменены, что потенциально может привести к неточным результатам.
С другой стороны, get_browser — это встроенная функция PHP, которая анализирует строку пользовательского агента и возвращает массив с информацией, специфичной для браузера. Он предназначен для упрощения процесса идентификации и извлечения определенных атрибутов браузера. Однако get_browser использует предварительно скомпилированный набор данных, который не всегда может быть актуальным или точным для всех пользовательских агентов, особенно для новых или менее распространенных браузеров.
При использовании $_SERVER['HTTP_USER_AGENT'] для вывода соответствующих CSS-ссылок может показаться простым, это не считается лучшей практикой. Пользовательские агенты браузера могут существенно различаться и содержать неожиданные элементы. Например, современные версии Internet Explorer могут содержать «Mozilla» в строках своего пользовательского агента, как показано в предоставленном обновлении.
Чтобы обеспечить надежный таргетинг CSS, вместо этого рекомендуется использовать медиа-запросы или обнаружение функций CSS. полагаться исключительно на строки пользовательского агента.
Следующий фрагмент кода предоставляет более полный и надежный метод обнаружения браузера с помощью $_SERVER['HTTP_USER_AGENT']:
if (stripos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'Internet Explorer';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== FALSE) { // For supporting IE 11
echo 'Internet Explorer';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) {
echo 'Mozilla Firefox';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE) {
echo 'Google Chrome';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== FALSE) {
echo "Opera Mini";
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== FALSE) {
echo "Opera";
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE) {
echo "Safari";
} else {
echo 'Something else';
}
Этот фрагмент проверяет наличие определенных ключевых слов в строке пользовательского агента, чтобы идентифицировать распространенные браузеры. Он охватывает популярные браузеры, такие как Internet Explorer, Firefox, Chrome, Opera и Safari, а также учитывает такие нюансы, как режим совместимости Internet Explorer с «Trident» и отдельным пользовательским агентом Opera Mini.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3