2012-04-20 3 views
2

Я хочу, чтобы шунтирование всех браузеров определенного возраста на их собственную страницу. Каков наилучший метод для этого? Возможно, некоторые JS в заголовок, который обернут в:Code Igniter - лучший способ обнаружения браузера

<!--[if lte IE 7 ]> 
    <script type="text/javascript"> 
     window.location = "/unsupported-browser/"; 
    </script> 
    <![endif]--> 

Не следует выше послать браузер: http://example.com/unsupported-browser/, где у меня есть основной контроллер и вид справиться с этим? Это так просто?

ответ

15

Сделайте это вместо php. Используйте user_agent class и redirect на этой странице.

Но что еще более важно, почему бы вам не разрешить пользователям 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'); 

Edit:

Как уже упоминалось; если вы хотите это по всему сайту, запустите его в MY_Controller и не забудьте добавить $this->uri->segment(1) != 'unsupported-browser' в качестве дополнительного условия, чтобы избежать переадресации циклов.

+0

OP сказал переход на другую страницу не deny access, но user_agent - это то, что делает id – allen213

+1

На примере, похоже, они будут отправлены на страницу с сообщением «Этот сайт недоступен в вашем браузере, пожалуйста, обновите его» –

+0

да, вы правы, не очень хорошо, но часто меня искушали – allen213

2

Скачать библиотеку из 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

+0

документация о мертвой ссылке ... –