Мета-обновление
HTML |
---|
Сравнения |
Метаобновление — это метод указания веб-браузеру автоматически обновлять текущую веб-страницу или кадр через заданный интервал времени с использованием HTML-кода. meta
элемент с http-equiv
параметр установлен на " refresh
"и content
параметр, задающий временной интервал в секундах. Также можно указать браузеру получать другой URL-адрес при обновлении страницы, включив альтернативный URL-адрес в поле content
параметр. Установив интервал обновления равным нулю (или очень низкому значению), метаобновление можно использовать как метод перенаправления URL-адресов .
История
[ редактировать ]Эта функция была первоначально представлена в Netscape Navigator 1.1 (около 1995 г.) в виде HTTP-заголовка и соответствующего HTML-кода. meta
HTTP-эквивалентный элемент, который позволяет автору документа сигнализировать клиенту об автоматической перезагрузке документа или переходе на указанный URL-адрес после указанного времени ожидания. [ 1 ] Это самый ранний механизм опроса , доступный в Интернете. [ нужна ссылка ] , что позволяет пользователю видеть последние обновления на часто меняющихся веб-страницах, например, на страницах с результатами футбольных матчей или прогнозом погоды .
Удобство использования
[ редактировать ](W3C) не рекомендует использовать метаобновление Консорциум World Wide Web , поскольку неожиданное обновление может дезориентировать пользователей. [ 2 ] Мета-обновление также ухудшает работу кнопки «Назад» веб-браузера в некоторых браузерах (включая Internet Explorer 6 и более ранние версии), хотя большинство современных браузеров компенсируют это ( Internet Explorer 7 и выше, Mozilla Firefox , Opera , Google Chrome ).
Существуют законные варианты использования метаобновления, такие как предоставление обновлений динамических веб-страниц или реализация управляемой навигации по веб-сайту без использования JavaScript . Многие крупные веб-сайты используют его для обновления новостей или обновлений статуса, особенно когда зависимости от JavaScript и заголовки перенаправления нежелательны.
Примеры
[ редактировать ]Поместите внутрь <head>
элемент для обновления страницы через 5 секунд:
<meta http-equiv="refresh" content="5">
Перенаправить на https://example.com/
через 5 секунд:
<meta http-equiv="refresh" content="5; url=https://example.com/">
Перенаправить на https://example.com/
немедленно:
<meta http-equiv="refresh" content="0; url=https://example.com/">
Недостатки
[ редактировать ]Мета-теги обновления имеют некоторые недостатки:
- Если страница перенаправляется слишком быстро (менее 2–3 секунд), нажатие кнопки «Назад» на следующей странице может привести к тому, что некоторые браузеры вернутся на страницу перенаправления, после чего перенаправление произойдет снова. Это плохо для удобства использования, так как может привести к тому, что читатель «застрянет» на последнем веб-сайте.
- Читатель может захотеть или не захотеть быть перенаправленным на другую страницу, что может привести к недовольству пользователя или вызвать опасения по поводу безопасности. [ 3 ]
Альтернативы
[ редактировать ]Мета-обновление использует http-equiv
метатег для эмуляции Refresh
HTTP- заголовок и, как таковой, также может быть отправлен в качестве заголовка веб-сервером HTTP. Хотя Refresh
не является частью стандарта HTTP , он поддерживается всеми распространенными браузерами.
Пример HTTP-заголовка для перенаправления на https://example.com/
через 5 секунд:
Refresh: 5; url=https://www.example.com/
Альтернативы существуют для обоих вариантов использования метаобновления.
Для перенаправления
[ редактировать ]Альтернативой является отправка кода состояния перенаправления HTTP , например HTTP 301 или 302 . Это предпочтительный способ перенаправить пользовательский агент на другую страницу. Этого можно добиться с помощью специального правила на веб-сервере или с помощью простого сценария на веб-сервере.
JavaScript — еще одна альтернатива, но не рекомендуемая, поскольку пользователи могли отключить JavaScript в своих браузерах.
Самый простой способ перенаправления JavaScript с использованием onload
собственность body
ярлык:
<body onload="window.location = 'http://example.com/'">
<!-- Your content here -->
</body>
Для обновления
[ редактировать ]Альтернативный метод — предоставить устройство взаимодействия, например кнопку, позволяющее пользователю выбирать, когда обновлять контент. Другой вариант — использовать такой метод, как Ajax, для обновления (частей) веб-сайта без необходимости полного обновления страницы, но для этого также потребуется, чтобы пользователь включил JavaScript в своем браузере.
Вы можете обновить веб-страницу, используя метод JavaScript location.reload . Этот код может вызываться автоматически при возникновении события или просто когда пользователь нажимает на ссылку. Если вы хотите обновить веб-страницу щелчком мыши, вы можете использовать следующий код:
<a href="javascript:location.reload(true)">Refresh this Page</a>
Ссылки
[ редактировать ]- ^ «Исследование динамических документов» . Корпорация Netscape Communications. Архивировано из оригинала 24 января 2002 г. Проверено 24 апреля 2020 г.
- ^ Основные методы для рекомендаций по доступности веб-контента 1.0 - Примечание W3C, 6 ноября 2000 г.
- ^ Мета-тег обновления , статья About.com, посвященная использованию тега для перезагрузки или перенаправления страниц.
Внешние ссылки
[ редактировать ]- Рекомендации W3C по доступности веб-контента (1.0): Обеспечьте пользователю контроль над изменениями контента, зависящими от времени.
meta
обновление устарело W3C- Используйте стандартные редиректы: не нажимайте кнопку «Назад»!
- H76: Использование метаобновления для создания мгновенного перенаправления на стороне клиента.