IE больше не оценивает метаобновление после нажатия F5 - PullRequest
7 голосов
/ 12 апреля 2011

Смешной простой HTML-файл:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                      "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="refresh" content="5; URL=./test.html">
  </head>
  <body>
    <h1>Hello World</h1>
  </body>
</html>

Когда я открываю файл с помощью любого браузера, браузеры работают хорошо и перезагружают страницу каждые 5 секунд.

Но когда я обновляю страницу вручную между двумя обновлениями ( F5 ), IE (V 8.0.6001.18702) больше не оценивает тег meta, и страница не получаетдольше обновлялся. Opera , FF и Safari по-прежнему работают должным образом и обновляются каждые 5 секунд.

Кто-нибудь еще сталкивался с такой проблемой?Как (кроме использования Javascript, конечно) можно решить эту проблему?


Редактировать 1:
Проверено это поведение также на IE6, так что я думаю, что это общееIE проблема.Любые подсказки, как преодолеть это?


Редактировать 2:
Для продолжения этой темы:

  • это известная проблема или будетСтоит ли подавать заявку на ошибку где-нибудь (где?)?
  • Может ли кто-нибудь проверить это поведение с помощью IE7 и / или IE9?

Ответы [ 5 ]

0 голосов
/ 03 июня 2011

Используйте это, я подозреваю, ваш URL настроен неправильно

<html>
<head>
<meta http-equiv="refresh" content="1">
</head>
<body>
</body>
</html>

Это всегда самообновляется.

Надежда помогает :)

0 голосов
/ 02 июня 2011

Javascript станет вашим другом для этого ... он в конечном итоге работает намного лучше во всех браузерах. Кроме того, meta-refresh выходит из моды .

Следующий скрипт и атрибут body onload будут непрерывно обновлять страницу каждые 5 секунд.

<html>
<head>
   <script>
    function timedRefresh(timeoutPeriod) {
       setTimeout("location.reload(true);",timeoutPeriod);
    }
   </script>
   <noscript>
    <meta http-equiv="refresh" content="5" />
   </noscript>
</head>
<body onload="javascript:timedRefresh(5000)">
   <!-- Content -->
</body>
</html>
0 голосов
/ 31 мая 2011

В IE 9 работает нормально.

P.S. Вы пропустили несколько кавычек:

<meta http-equiv="refresh" content="5;" URL="./test.html">
0 голосов
/ 31 мая 2011

Вообще говоря, использование нестандартного META-REFRESH осуждается органами стандартизации.Сказав это, вы пытались использовать полный URL-адрес вместо относительного URL-адреса?Если вы пытаетесь перезагружать одну и ту же страницу снова и снова, вы пытались полностью пропустить URL?

0 голосов
/ 12 апреля 2011

Насколько я знаю, есть только способ mta или javascript.

Другим вариантом может быть использование

header("Location: url");

если вы можете использовать php, это не совсем обычное обновление, но вы можете использовать для перенаправления на ту же страницу снова

Как и в случае с мета-путём, вы пытались поставить полный URL? (IE, arrg)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...