检测Internet Explorer并显示一条消息。

12
我一直在寻找,但找不到我需要的东西。
我想向IE浏览器的用户显示一个警告,告诉他们我的网站不支持IE,并且永远也不会尝试支持它,请更换高级浏览器。
您只需要检测IE浏览器即可,但如果有人告诉我如何在页面上触发灯箱效果,那就太好了,但如果不包括此内容,我自己也可以做到。
谢谢帮助!
4个回答

24

有条件的HTML注释适用于检测IE9或更低版本。这来自于HTML5 Boilerplate,我强烈建议您使用:

<!--[if lt IE 7]>
    <p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
<![endif]-->

等一下,什么是样板文件?我看了它,但还是不太清楚它到底是做什么的... - b2550
1
Boilerplate是一个模板,可以让您快速启动新的Web项目,并提供一些非常有用的默认设置。任何东西都有样板文件。如果已经做过了,最好使用它,这就是样板文件的想法。 - elclanrs
1
HTML 何时支持注释 if 语句的呢? :) - Kellen Stuart
1
@KolobCanyon,它没有起作用。大多数浏览器将其视为一个大注释。只有IE知道如何处理它,并且如果版本匹配条件,则显示包含的HTML。这是非标准的特定于浏览器的语法。 - AntonChanning

1
尝试这个。
 if ($.browser.msie) {
    // you are using IE
 }

更多细节:jquery.browser

从jQuery文档中:我们建议不要使用此属性,请尝试使用特性检测代替(请参见jQuery.support)。jQuery.browser可能会在未来的jQuery版本中移动到插件中。 - elclanrs
@elclanrs 不需要。针对不同浏览器编写JavaScript代码最好采用特征检测的方法,而非硬编码。OP希望能够具体检测用户正在使用哪个浏览器。 - Benjamin Gruenbaum
2
是的,那么我想告诉这个人,如果他们正在使用IE浏览器,那它很糟糕,他们应该换一个新的浏览器。 - b2550
@b2550:关键是实际上要进行特性检测而不是浏览器检测,因为IE9非常强大,许多人使用它,你基本上失去了40%的用户。对于IE8-7-6,可能只需要进行简单的userAgent检查(这就是$.browser所做的),否则对于更新的IE版本,特性检测是正确的方法。 - elclanrs
@elclanrs 我的网站在IE上仍然可以正常工作,但IE也不包含我的网站使用的功能。这主要是一个玩笑,并且有点是为了让网站看起来更好。 - b2550
显示剩余2条评论

1

navigator对象包含与客户机浏览器和平台有关的所有详细信息。

navigator.userAgent提供浏览器相关的详细信息。

JS片段:

<script>
  var x = navigator.userAgent;
  alert(' browser details ' + x);
</script>

以下链接详细介绍了这个问题:

http://www.javascriptkit.com/javatutors/navigator.shtml


0

将代码粘贴在标签后:

  <!--[if lt IE 8]>
  <p class="browserupgrade">Vous utilisez un <strong>ancien navigateur</strong>. Mettez votre <a href="http://browsehappy.com" target="_blank">navigateur à jour</a> dès aujourd'hui !</p>
  <![endif]-->

PS:根据需要编辑内容。我将其翻译成法语供自己使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接