«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как выбрать правильный подход к обнаружению браузера пользователя в PHP?

Как выбрать правильный подход к обнаружению браузера пользователя в PHP?

Опубликовано 17 ноября 2024 г.
Просматривать:120

How to Choose the Right Approach for User Browser Detection in PHP?

Надежное обнаружение браузера пользователя с помощью PHP

Определение наилучшего подхода

Когда дело доходит до обнаружения браузера пользователя в PHP, выбор между использованием $_SERVER ['HTTP_USER_AGENT'] и возникает функция get_browser. Каждый подход имеет свои преимущества и недостатки.

$_SERVER['HTTP_USER_AGENT'] предоставляет необработанную строку пользовательского агента, которая содержит информацию о браузере, операционной системе и другие сведения, специфичные для клиента. Этот метод широко поддерживается и предлагает полный набор данных для обнаружения браузеров. Однако важно отметить, что пользовательские агенты могут быть подделаны или изменены, что потенциально может привести к неточным результатам.

С другой стороны, get_browser — это встроенная функция PHP, которая анализирует строку пользовательского агента и возвращает массив с информацией, специфичной для браузера. Он предназначен для упрощения процесса идентификации и извлечения определенных атрибутов браузера. Однако get_browser использует предварительно скомпилированный набор данных, который не всегда может быть актуальным или точным для всех пользовательских агентов, особенно для новых или менее распространенных браузеров.

Использование $_SERVER['HTTP_USER_AGENT'] для вывода CSS-ссылки

При использовании $_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.

Заявление о выпуске Эта статья перепечатана по адресу: 1729164141. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3