用于Internet Explorer浏览器版本用户代理的Javascript重定向?

时间:2011-09-13 19:14:03

标签: javascript redirect user-agent

我发现我的javascript密集型网站在IE9中无法可靠(或根本没有)。

它的工作原理(通常但并非总是如此)标题中的兼容模式元标记,但我只想构建一个我知道在IE9中运行良好的页面然后在IE9时将常用页面重定向到它被检测到。在IE 7和8(以及我尝试过的所有其他浏览器)中,通常的页面都很好。

任何人都可以给我一些javascript来做到这一点吗?谢谢!

这是我常用的页面:

http://ianmartinphotography.com/test-site/test/

2 个答案:

答案 0 :(得分:18)

最简单的方法是使用IE Conditionals

注意:此功能的IE10及更高版本有removed support。对于现代浏览器,出于兼容性目的,有条件地显示内容的广泛接受的方法是使用feature detectionModernizr是一个流行的库,用于处理特征检测。

例如:

<!--[if IE 9]>
<script type="text/javascript">
    window.location = "http://www.ie9version.com";
</script>
<![endif]-->

条件网站的示例:

<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]>

<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->

<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->

<!--[if true]>You are using an <em>uplevel</em> browser.<![endif]-->
<![if false]>You are using a <em>downlevel</em> browser.<![endif]>

<!--[if true]><![if IE 7]><p>This nested comment is displayed in IE 7.</p><![endif]><![endif]-->

答案 1 :(得分:0)

<script LANGUAGE="JavaScript"> 
<!-- 

  if( navigator.appName.toLowerCase().indexOf("microsoft") > -1 || 
      navigator.userAgent.toLowerCase().indexOf("msie") > -1 ) { 
    window.open("http://www.pobox.com/~qed/windoze.html", "Windoze",
"dependent=no,titlebar=no,scrollbars=yes" ); 
  } 

// Paul Hsieh 
// qed at pobox dot com 
// --> 
</script>

来源:http://www.cexx.org/snicker/nomsie.htm