Есть ли безошибочный метод для перенаправления в зависимости от браузера и версии браузера?

Я хотел бы перенаправить пользователей на другую веб-страницу в зависимости от браузера и версии браузера, которую он / она использует.

Я знаю, что это можно сделать с помощью простого кода JavaScript, а также с помощью PHP с HTTP_USER_AGENT параметр. Тем не менее, оба метода можно обойти, либо отключив JavaScript, либо изменив user_agent вручную.

Мой вопрос: есть ли способ перенаправления, который не дает клиенту шансов уклониться?

3 ответа

Лучше всего, чтобы вы проверили пользовательский агент и выполнили заголовок 301 перемещенного постоянного перенаправления без содержательного содержимого в теле, кроме сообщения "эта страница была перемещена". Браузер либо выполнит его, либо выдаст пустой документ. Важно признать, что строка user-agent является необязательной, и вам абсолютно не следует делать ее обязательной частью использования вашего сайта.

Обратите внимание, что ваше отношение противоречит всей природе Интернета. Невозможно заставить браузер пользователя что- либо делать, и не должно быть. Все действия не являются обязательными, и пользователь может свободно выбирать ваш веб-сайт или его части и программно делать все, что ему нужно, с данными, которые вы ему отправляете.

Вы общаетесь с клиентом только через текстовые строки по проводам. Если клиент не хочет сообщать вам свой настоящий пользовательский агент, на самом деле вы ничего не можете с этим поделать.

Простой ответ: нет

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

Лучшее, что вы можете сделать, - это сделать ваш сайт максимально совместимым с нисходящей.

Единственный виновник, с которым я обычно сталкиваюсь - это разные версии IE от 6 до 10, для которых нужны разные правила таблицы стилей.

Я бы просто использовал в голове

<head>
<!--[if IE 6]>
<link rel="stylesheet" href="ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" href="ie8.css">
<![endif]-->
<!--[if IE 9]>
<link rel="stylesheet" href="ie9.css">
<![endif]-->
<!--[if IE 10]>
<link rel="stylesheet" href="ie10.css">
<![endif]-->
Другие вопросы по тегам