如果他们使用的是Internet Explorerv9之前的版本,我想将我们网站的用户退回至错误页面。只是不值得我们花费时间和金钱来支持IE pre-v9。使用其他所有非IE浏览器的用户都可以使用,不应被退回。这是建议的代码:
Internet Explorer
IE pre-v9
if(navigator.appName.indexOf("Internet Explorer")!=-1){ //yeah, he's using IE var badBrowser=( navigator.appVersion.indexOf("MSIE 9")==-1 && //v9 is ok navigator.appVersion.indexOf("MSIE 1")==-1 //v10, 11, 12, etc. is fine too ); if(badBrowser){ // navigate to error page } }
这段代码会成功吗?
首先,我将发表一些评论:
useragent
pre-v9 IE
IE v1
IE 10
还有其他明显的问题要注意吗?
这是我的首选方式。它提供了最大的控制。(注意:仅IE5-9支持条件语句。)
首先正确设置您的ie类
<!DOCTYPE html> <!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html class="lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <html class="lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html> <!--<![endif]--> <head>
然后,您可以仅使用CSS来创建样式异常,或者,如果需要,可以添加一些简单的JavaScript:
(function ($) { "use strict"; // Detecting IE var oldIE; if ($('html').is('.lt-ie7, .lt-ie8, .lt-ie9')) { oldIE = true; } if (oldIE) { // Here's your JS for IE.. } else { // ..And here's the full-fat code for everyone else } }(jQuery));