Есть ли безошибочный метод для перенаправления в зависимости от браузера и версии браузера?
Я хотел бы перенаправить пользователей на другую веб-страницу в зависимости от браузера и версии браузера, которую он / она использует.
Я знаю, что это можно сделать с помощью простого кода 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]-->