Я бы сделал что-то вроде этого:
<iframe style="display:none;" id="iframe1" src="loader.php" ></iframe>
<iframe style="display:none;" id="iframe2" src="" ></iframe>
Создайте файл .php с именем loader.php
и просто введите что-то вроде этого:
<? sleep(6); ?>
Тогда на вашей главной странице используйте это:
// DONT FORGET TO INCLUDE JQUERY SOMEWHERE IN YOUR HEADER
<script type="text/javascript">
var activeIframe = 2;
var timer = 1;
function startLoader(){
if(activeIframe == 1){
activeIframe = 2;
$('#iframe1').attr('src', 'loader.php?timer='+timer);
timer++;
}else{
$('#iframe2').attr('src', 'loader.php?timer='+timer);
activeIframe = 1;
timer++;
}
}
$(document).ready(function() {
setInterval("startLoader()",4000);
});
</script>
Этот файл загружается в первый iFrame. Это будет сделано через 6 секунд, но вы измените содержимое второго iFrame до этого времени: вызов того же файла через 4 секунды. Просто повторите этот процесс. Причина использования двух iframe и ожидания в течение 6 секунд состоит в том, чтобы убедиться, что iframe удастся загрузить (поскольку каждый div будет перезагружаться каждые 8 (4 + 4) секунд), иначе браузер может / может зависнуть. Используя два iframe, один будет всегда загружаться, в то время как другому разрешено завершать. loader.php?timer=<number>
используется, чтобы запретить браузеру кэшировать страницу (хотя я думаю, что он все равно не должен этого делать, поскольку функция PHP sleep()
всегда замедляет загрузку, но просто для безопасности)