У меня была такая же проблема, как и у вас. Я создаю сайт, похожий на ваш, и использую PHP для включения и отключения элементов страницы до и после времени трансляции. Ваше решение показалось многообещающим, но в конечном итоге я был недоволен использованием чистого Javascript для перезагрузки страницы. Javascript получает свое время от компьютера клиента, тогда как PHP получает его от сервера, и даже небольшая разница между ними может разрушить всю систему. (то есть страница может обновляться за 30 секунд до того, как PHP включит кнопки, что заставит некоторых зрителей предположить, что все не работает.)
Я решил проблему с помощью PHP, чтобы сообщить функции Javascript, который час, и он работает как шарм. Единственная проблема заключается в том, что он запускается каждый день, а не только в один день недели, но это не беспокоит меня - у пользователей не будет причин просматривать страницу, кроме дня трансляции.
Это все, что вам нужно - я поставил это сразу после тега <body>
:
<script type="text/javascript">
setTimeout(function() { window.location.reload(true); }, 1000*<?php
$then = mktime(15,00,0);
$tomorrow = mktime(15, 00, 0, date("m") , date("d")+1);
$now = time();
if ($now > $then) {echo $tomorrow - $now;}
else {echo $then - $now;}?>); </script>