【问题标题】:Most fast way to check for IE检查IE的最快方法
【发布时间】:2014-01-02 05:00:15
【问题描述】:

我想检查 IE 并要求用户更改 brouser。 我试过了:

<!--[if IE]>
<p>rrff</p>
<script type="text/javascript">
alertify.alert("Please change your brouser");
</script>
<![endif]-->
<!--[if gte IE 8]>
<script type="text/javascript">
alertify.alert("Message");
</script>
<![endif]-->

<!--[if lt IE 7]>
<script type="text/javascript">
alertify.alert("Message");
</script>
<![endif]-->

(取自微软 - http://msdn.microsoft.com/en-us/library/ms537509(v=vs.85).aspx) 但它没有显示任何结果,除了在两种情况下终止 IE :)

如何检查 IE 和所有相关的浏览器?太多的功能在这里失败....

【问题讨论】:

  • 使用 uncle google 有大量相关信息。
  • 如果too many functions fail...使用特征检测,您的代码有问题
  • @SzymonDziewoński 说了什么。此外,文章本身指出 Note As of December 2011, this topic has been archived and is no longer actively maintained. 这解释了为什么它可能在更新的浏览器上出现问题
  • 在此之前你会调用alertify 脚本吗?你试过&lt;!--[if IE]&gt;&lt;script type="text/javascript"&gt;alert("Please change your browser");&lt;/script&gt;&lt;![endif]--&gt;
  • 这是个好主意,但它不起作用。 (我的意思是

标签: jquery html internet-explorer


【解决方案1】:

好吧,我会成为好朋友,告诉你一些关于 IE 的事情

1.插件

如果你只想通过改变类来改变一些元素,这里的插件 http://rafael.adm.br/css_browser_selector/ 太棒了。

它是如何工作的,例如在 css 类中添加之前的元素,如 .ie8 #something,它只能在 IE8 中工作

注意:不要忘记使用 jQuery 库

2。 jQuery

Detecting IE using jQuery 链接太多了,输入google "IE detection jquery" 之类的

提示: 1.9 之前的 jQuery 检测有所不同,但在 1.10 之后使用 jQuery migrate 时您仍然可以使用这些命令

3. CSS

http://www.quirksmode.org/css/condcom.html

我认为这一切都在 5 分钟内完成,当你花一些时间时,你会了解所有关于这个问题的知识 :)

【讨论】:

    【解决方案2】:

    好的,所以无论您使用什么都称为条件注释,这可以正常工作。 如果您只想检查任何版本的 IE,您可以这样做:

    <!--[if IE]>
    <script type="text/javascript">
        alertify.alert("Please change your browser");
    </script>
    <![endif]-->
    

    如果想检查某个特定版本,那么你可以这样做:

    <!--[if IE 6]>
    <![endif]-->
    

    <!--[if lte IE 7]>
    <![endif]-->
    

    除此之外,您还可以在 JavaScript 本身中检查它,例如:

    <script type="text/javascript">
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
        alertify.alert("Please change your browser");
    }
    </script>
    

    但是使用其中任何一个,而不是全部。祝你好运!!

    【讨论】:

    • 您能否检查一下此代码是否适合您?上面的行都不起作用。我有 IE 11。
    • 不再支持条件 cmets
    • 没错,IE10+ 不再支持条件 cmets。所以,你应该用 JavaScript 的方式来做......
    【解决方案3】:

    你不应该浏览器嗅探。而是像下面这样进行特征检测:

            <script>
    
        if (!('querySelector' in document)  //this should work in ie 9+
             || !('localStorage' in window)  //ie 8+
             || !('addEventListener' in window)  //ie 8 + (I think)
            || !('matchMedia' in window)) {//ie 10+
    
            //do something here
        }
    
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-24
      相关资源
      最近更新 更多