我发现我的javascript密集型网站在IE9中无法可靠(或根本没有)。
它的工作原理(通常但并非总是如此)标题中的兼容模式元标记,但我只想构建一个我知道在IE9中运行良好的页面然后在IE9时将常用页面重定向到它被检测到。在IE 7和8(以及我尝试过的所有其他浏览器)中,通常的页面都很好。
任何人都可以给我一些javascript来做到这一点吗?谢谢!
这是我常用的页面:
答案 0 :(得分:18)
最简单的方法是使用IE Conditionals。
注意:此功能的IE10及更高版本有removed support。对于现代浏览器,出于兼容性目的,有条件地显示内容的广泛接受的方法是使用feature detection。 Modernizr是一个流行的库,用于处理特征检测。
例如:
<!--[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>