2013-08-30 2 views
0

Я использую некоторые скрипты, которые не совместимы с IE. Я хотел бы применить эту строку, если это IE:meta refresh при использовании Internet Explorer

 <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 и подождите 5 секунд, если не IE. TY.

ответ

0

Я нашел способ arround. Используя PHP, можно перенаправить страницу на другую, если IE и другой, если! IE. Поэтому я сделал своего рода предварительную страницу, которая сейчас работает нормально.

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

, а затем я могу настроить нормальные синхронизации по HTML или JavaScript на странице animation.html:

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

Возможно, этот ответ поможет кому-то в будущем.

1

По соображениям производительности вам не следует использовать обновление META для перенаправления. Либо отправьте перенаправление HTTP/3xx с сервера, либо используйте клиентский JavaScript, если вам нужно (используя META REFRESH только в блоке NOSCRIPT в качестве резервной копии).

Эта статья объясняет снижение производительности использования метаобновление:

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

Смежные вопросы