当前位置: 首页 > 面试题库 >

在JavaScript中检测IE版本(v9之前的版本)

鲜于海
2023-03-14
问题内容

如果他们使用的是Internet Explorerv9之前的版本,我想将我们网站的用户退回至错误页面。只是不值得我们花费时间和金钱来支持IE pre-v9。使用其他所有非IE浏览器的用户都可以使用,不应被退回。这是建议的代码:

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
    }
}

这段代码会成功吗?

首先,我将发表一些评论:

  1. 是的,我知道用户可以伪造useragent字符串。我不担心
  2. 是的,我知道编程专家更喜欢嗅探功能支持而不是浏览器类型,但在这种情况下,我认为这种方法不可行。我已经知道所有(相关)非IE浏览器都支持我需要的功能,而所有pre-v9 IE浏览器都不支持。在整个站点中逐个功能地检查将是浪费。
  3. 是的,我知道有人尝试使用IE v1(或> = 20)访问该网站不会将’badBrowser’设置为true,并且警告页面将无法正确显示。这是我们愿意承担的风险。
  4. 是的,我知道Microsoft具有可用于精确浏览器版本检测的“条件注释”。从IE开始,IE不再支持条件注释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));


 类似资料:
  • 本文向大家介绍javascript 判断当前浏览器版本并判断ie版本,包括了javascript 判断当前浏览器版本并判断ie版本的使用技巧和注意事项,需要的朋友参考一下 javascript 判断当前浏览器版本并判断ie版本: 2、判断是什么类型浏览器 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 问题内容: 是否存在使用JavaScript检测客户端计算机上安装的Java版本的可靠方法? 问题答案: 在Java Deployment Toolkit中签 出代码。

  • 我目前正在使用jcifs-ngJava库来访问SMB驱动器,我知道它支持各种SMB版本。我还知道如何设置支持的最小和最大版本。但是出于调试的目的,我想知道当我从服务器获取目录信息时,哪个版本实际上正在使用(也就是说,服务器和我的客户端已经协商好了)。有人知道如何以编程方式做到这一点吗?

  • 问题内容: 我想检测python是否安装在Linux系统上,如果安装了python版本。 我该怎么做?是否有比解析输出更优雅的东西? 问题答案: 您可以按照以下方式使用: 元组记录在这里。您可以展开上面的Python代码,以适合您需求的方式格式化版本号,或者对它执行检查。 您需要检入脚本来处理未找到脚本的情况。 PS:我使用的语法有点奇怪,以确保与Python 2.x和3.x兼容。

  • 问题内容: 我一直在寻找可以让我检测访问该网站的用户是否使用Firefox3或4的代码。我发现的所有代码都是用于检测浏览器类型而不是版本的代码。 如何检测这样的浏览器版本? 问题答案: 您可以看到浏览器说的内容,并将该信息用于记录或测试多个浏览器。

  • 问题内容: 有谁知道HTA文件使用的JavaScript版本。 当前正在创建一些脚本文件-并尝试利用 当作为HTA运行时-指出对象不支持该属性或方法的错误。我已经将其作为HTM文件运行以进行检查-完全没有问题。 因此,我只能假设它使用的是旧版JavaScript引擎。有人可以确认吗? 问题答案: 使用的JavaScript(或JScript)版本取决于三件事:已安装的Interner Explor