使用Internet Explorer时元刷新

时间:2013-08-30 00:06:26

标签: internet-explorer meta-tags

我正在使用一些与IE不兼容的脚本。如果它是IE,我想申请这一行:

        <meta http-equiv="Refresh" content="0; url=bio.html">

但如果它不是IE,我想使用这个:

        <meta http-equiv="Refresh" content="5; url=bio.html">

所以时机不同。这对我来说似乎不起作用:

<!--[if IE]
    <meta http-equiv="Refresh" content="0; url=bio.html">
<![endif]-->

<!--[if !IE]
    <meta http-equiv="Refresh" content="5; url=bio.html">
<![endif]-->

有没有简单的方法呢?所以如果IE浏览器跳到下一页,如果不是IE则等待5秒。 TY。

2 个答案:

答案 0 :(得分:1)

出于性能原因,您不应使用META Refresh重定向。从服务器发送HTTP / 3xx重定向,或者如果必须,使用客户端JavaScript(仅在NOSCRIPT块中使用META REFRESH作为后备)。

本文解释了使用META REFRESH的性能成本:

http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/meta-refresh-causes-additional-http-requests.aspx

答案 1 :(得分:0)

我找到了arround的方式。使用PHP,可以将页面重定向到另一个,如果IE和不同的一个,如果!IE。所以我做了一个现在正常工作的前页面。

<?
if ( preg_match("/MSIE/",$_SERVER['HTTP_USER_AGENT']) )
    header("Location: bio.html");
else
    header("Location: animation.html");
exit;
?>

然后我可以在animation.html页面上通过html或javascript设置正常计时:

<script type="text/JavaScript">
<!--
setTimeout("location.href = 'bio.html';",5000);
-->
</script>

也许这个答案将来会帮助别人。

相关问题