2012-04-20 9 views
2

私は自分のページに特定の年齢のすべてのブラウザをシャントしたいと思います。これを行うための最良の方法は何ですか?多分に包まれているヘッダー内のいくつかのJS:私はそれを処理するための基本的なコントローラとビューを持っているhttp://example.com/unsupported-browser/コードイグナイター - ブラウザを検出する最も良い方法

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

は、上記のようにブラウザを送るべきではないでしょうか。それは簡単ですか?

答えて

15

代わりにこれをPHPで行います。そのページにuser_agent classredirectを使用してください。

さらに重要なことに、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

から

+0

OPに 'ライブラリ'

メインコントローラ内部の

public function index() { $this -> load -> library('Mobile_Detect'); $detect = new Mobile_Detect(); if ($detect->is('Chrome') || $detect->is('iOS')) { // whatever you wanna do here. } } 

検索のドキュメントをしてMobile_Detect.phpを入れた別のページへのシフトではありませんアクセスを拒否しますが、user_agentはidと同じです – allen213

+1

例に基づいて、ページに送信されるように見えます"このサイトはあなたのブラウザでは利用できません。アップグレードしてください" –

+0

あなたは正しいですが、良いことではありませんが、よく誘惑されます。 – allen213

関連する問題