0

我正在使用一些与 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 秒。泰。

4

2 回答 2

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

于 2013-08-30T08:44:13.577 回答
0

我找到了周围的路。使用 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>

也许这个答案将来会对某人有所帮助。

于 2013-08-30T00:45:36.753 回答