Я использую следующий код для использования в качестве формы обнуления скрипта ссылки, и он работает отлично, но он просто перенаправляет их прямо на целевой URL.
Как мне приступить к созданию 5-секундной задержки, чтобы я мог отображать некоторые рекламные объявления в течение 5 секунд, прежде чем перенаправлять их?
Как насчет использования sleep () ?
function method1(...) { sleep(5); ... rest of the code
header()
. Вы можете отправить php-заголовок с обновлением тайм-аута. http://php.net/manual/en/function.header.php
<?php header( "refresh:5; url=wherever.php" ); ?>
Заголовок refresh
выполняет эту работу, но я хотел бы выделить некоторые потенциальные проблемы:
Он не указан в стандарте HTTP. Википедия говорит:
Проприетарный и нестандартный: расширение заголовка, представленное Netscape и поддерживаемое большинством веб-браузеров.
Но он существует уже почти 20 лет, и я не знаю ни одного браузера, который его не поддерживает (не удалось найти ссылку)
Некоторые браузеры не используют кеш на странице, перенаправленной с refresh
. Это было продемонстрировано для Internet Explorer: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/meta-refresh-causes-additional-http-requests.aspx, и я могу воспроизвести его на Fire Fox. У Chrome нет этой проблемы.
Вы можете добавить JavaScript на промежуточную страницу, которая откроет новую страницу через X секунд. Добавьте это в нижней части страницы, чтобы перенаправить на http://www.example.com/target
через 5
секунд:
<script type="text/javascript"> window.setTimeout(function() { window.location.href='http://www.example.com/target'; }, 5000); </script>
В качестве бонуса вы можете вернуться к заголовку refresh
если JS отключен, используя meta
директиву http-equiv
которая сообщает браузеру действовать так, как будто был отправлен определенный HTTP-заголовок. Поскольку он является частью источника HTML, его можно обернуть в элемент <noscript>
. Добавьте это в свой <head>
дополнительно к приведенному выше JavaScript:
<noscript> <meta http-equiv="refresh" content="5;url=http://www.example.com/target" /> </noscript>
Теперь страница перенаправляет с помощью JavaScript, если она доступна для максимальной производительности, и использует refresh
противном случае.