Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Обновить div по Таймеру (https://javascript.ru/forum/server/55926-obnovit-div-po-tajjmeru.html)

ultra33 21.05.2015 03:31

Обновить div по Таймеру
 
Сам нормально на пхп кожу, в яве ноль. Есть <div name="statuz">Ready</div> и скрипт statuz.php. Нужно, чтобы актуальная информация от скрипта всегда была на странице и обновлялась как можно чаще. Искал готовое решение. Я даже не уверен, те ли библиотеки использую, пробовал максимум подключить:
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.ui/1.8.5/jquery-ui.min.js"></script>
<script type='text/javascript' src='css/jquery-1.11.2.min.js' />
<script type='text/javascript' src='css/jquery.timers-1.0.0.js' />

Так не работает:
<script type="text/javascript">
$(document).ready(function(){
var j = jQuery.noConflict();
j(document).ready(function()
{
j(".refreshMe").everyTime(1000,function(i){
j.ajax({
url: "statuz.php",
cache: false,
success: function(html){
j(".refreshMe").html(html);
}
})
})
});
j('.refreshMe').css({color:"red"});
});
</script>
</head>
<body>
<div class="refreshMe"><b><i>This div element will refresh in everey 5 sec <br>
<font color='blue'>
This will be replaced by a randomly generated number after every 5 seconds.</font></b></i>
</div>

Так тоже:
<script language="JavaScript">  
$(document).ready(function () {
    var interval = 500;   //number of mili seconds between each call
    var refresh = function() {
        $.ajax({
            url: "statuz.php",
            cache: false,
            success: function(html) {
                $('#server-name').html(html);
                setTimeout(function() {
                    refresh();
                }, interval);
            }
        });
    };
    refresh();
});
</script>
<div id="server-name">test</div>

Подскажите плиз максимально простое решение. (И если какие библиотеки не учёл - то какие нужны).

Rise 21.05.2015 07:26

ultra33, загружай statuz.php в iframe и в statuz.php в head добавь <meta http-equiv="refresh" content="5"> где 5 - интервал обновления страницы в секундах. В html ты тоже ноль :D

ultra33 22.05.2015 20:13

Я же сказал, что просто скопировал пример, не всматривался особо.
В 1 примере - да, понятно, там класс дива указан, а не id, минимум в этом проблема.
Могли мне указать, что нельзя закрывать тег скрипт, как я сделал в примере, но с этим разобрался, когда посмотрел сорц страницы с подстветкой в Хроме.
Последняя проблема была в том, что я не выставил для файла jquery.timers-1.0.0.js в SELinux контекст безопасности с разрешением для чтения для апача и он выдавал 403 - заметил это только потом. Такое бывает, что нужно выставлять, если файл не создан внутри папки, а скопирован из другой.
В итоге после этих исправлений заработал самый простой пример:
<html><head>
<script type='text/javascript' src='css/jquery-1.11.2.min.js'></script>
<script type='text/javascript' src='css/jquery.timers-1.0.0.js'></script>
</head>
<body>  
  <div id="content">A</div>  
  <script>  
setInterval(function() {
$("#content").load("statuz.php");
}, 1000); 
   </script>  
</body></html>


Часовой пояс GMT +3, время: 19:23.