Мы только что закончили разработку веб-приложения, и хотим заблокировать Internet Explorer 8 и ниже. Каков наилучший способ сделать это?
Я нашел способ блокировать IE6, однако учебник ( http://css-tricks.com/ie-6-blocker-script/ ) – с 2008 года, и я чувствую, что он немного устарел. Мы также хотим заблокировать IE 7 и 8 …
Сайт построен в CodeIgniter с большим количеством Backbone.js.
Если у кого-то есть идеи, они будут оценены.
Благодаря!
ОБНОВИТЬ
Извините, ребята, больше информации: Да, я хочу БЛОКИРОВАТЬ их, я хочу отобразить сообщение и уметь стилизовать страницу, чтобы сказать «Извините, вы используете Internet Explorer, который не является веб-браузером, пожалуйста, загрузите CHROME здесь».
Вы также можете сделать это с помощью CodeIgniter, http://ellislab.com/codeigniter/user-guide/libraries/user_agent.html
Что-то вроде:
$this->load->library('user_agent'); if ($this->agent->browser() == 'Internet Explorer' && $this->agent->version() <= 8){ //Redirect or show error }
(Также здесь: Code Igniter – лучший способ обнаружения браузера )
Сделайте это с помощью CSS и условных комментариев.
<head> <!--[if IE lte 8]> <link rel="stylehseet" type="text/css" href="blockIE.css" /> <[endif]--> </head> <body> <div class="yourcontent"> ... </div> <div class="notification"> <h1>Sorry, we don't support your old browsers</h1> </div> </body>
CSS:
body * { display: none } .notification { display: block; }
Это проверяет браузеры IE 8 и ниже. он используется в <head>
<!--[if lte IE 8]> <meta http-equiv="refresh" content="0; url=http://www.google.com" /> <script type="text/javascript"> window.top.location = 'http://www.google.com'; </script> <![endif]-->
Вы можете сделать это с помощью jQuery:
//if its internet explorer... if(jQuery.browser.msie){ //getting the version if($.browser.version < 8){ //do whatever } }
Больше информации.
ОБНОВИТЬ
Как следует из комментариев, эта функция не рекомендуется. Вы должны взглянуть на это: как определить IE7 и IE8 с помощью jQuery.support
ОБНОВЛЕНИЕ 2
Вы также можете сделать это с PHP, как указано здесь.
<!--[if lt IE 9]> <!-- Some div saying sorry or calling js function or whatever --> <![endif]--> <!--[if lte IE 8]> <!-- Some div saying sorry or calling js function or whatever --> <![endif]-->
вы можете использовать htaccess для блокировки MSIE
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_USER_AGENT} MSIE RewriteCond %{REQUEST_FILENAME} !ban_ie.php RewriteRule .* /ban_ie.php [L] RewriteCond %{HTTP_USER_AGENT} MSIE RewriteCond %{REQUEST_FILENAME} !ban_ie.php RewriteRule .* /ban_ie.php [L] </IfModule>
или вы можете использовать скрипт php
<?php ob_start(); ?> <html> <head> <style type="text/css"> * { margin:0; padding:0; height:100%; } #mydiv { position:absolute; width:400px; height:90px; text-align:center; top:50%; left:50%; margin-top:-40px; margin-left:-200px; border:solid 2px red; padding-top:30px; background:#ffff00; font-weight:bold; } </style> </head> <body> <div id="mydiv"> <?php $browser = $_SERVER['HTTP_USER_AGENT']; if(strstr($browser, "MSIE")) { echo"BG: Свалете си Mozilla Firefox за да влезнете в сайта EN: Download Mozilla Firefox to enter website <br /> <b><a href='http://www.mozilla.com/en-US/firefox/'>Mozilla Firefox</a></b>"; } elseif (strstr($browser, "Opera")) { echo"Свалете си мозилла <br /> <b><a href='http://www.mozilla.com/en-US/firefox/'>Mozilla Firefox</a></b>"; } else { header("Location: http://muonline-bg.eu/"); } ?> </div> </body> </html>