Я хочу шунтировать все браузеры определенного возраста на их собственную страницу. Каков наилучший метод для этого? Возможно, некоторые JS в заголовке, который завернут:
<!--[if lte IE 7 ]> <script type="text/javascript"> window.location = "/unsupported-browser/"; </script> <![endif]-->
Не следует ли переслать браузер: http://example.com/unsupported-browser/, где у меня есть базовый контроллер и просмотреть его? Это так просто?
Сделайте это вместо php. Используйте класс user_agent и перенаправляйтесь на эту страницу.
Но что более важно, почему бы вам не разрешить пользователям IE доступ к вашему сайту? Это связано с CSS или чем-то еще?
Код:
$this->load->helper('url'); $this->load->library('user_agent'); if ($this->agent->browser() == 'Internet Explorer' and $this->agent->version() <= 7) redirect('/unsupported-browser');
Редактировать:
Как уже упоминалось; если вы хотите это по всему сайту, запустите его в MY_Controller и обязательно добавьте $this->uri->segment(1) != 'unsupported-browser'
в качестве дополнительного условия, чтобы избежать переадресации циклов.
Загрузите библиотеку с http://mobiledetect.net
Поместите Mobile_Detect.php в «библиотеки»
внутри основного контроллера
public function index() { $this -> load -> library('Mobile_Detect'); $detect = new Mobile_Detect(); if ($detect->is('Chrome') || $detect->is('iOS')) { // whatever you wanna do here. } }
Найти документацию по адресу http://dwij.co.in/mobile-os-detection-in-php-codeigniter