У меня есть страница php, которую нужно обновлять каждые 5 секунд. При вложении файла ajax я не нахожу обновления, происходящие в Firebug. Вот скелет кода:
**notification.php** <?php .... .... ?> <html> <head> <script src="./refresh.js"></script> <script type="text/javascript"> refreshContents(); </script> </head> <body> .... <div id="identifier"> <p>Waiting area</p> </div> </body> </html> **refresh.js** var seconds = 5; var content = "identifier"; var url = "notification.php"; function refreshContents() { var xmlHttp; try { xmlHttp = new XMLHttpRequest(); } catch(e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(f) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(g) { alert("Browser not supports Ajax"); return false; } } } xmlHttp.onreadystatechange=function() { if (xmlHttp.readyState == 4) { document.getElementById(content).innerHTML = xmlHttp.responseText; setTimeout('refreshContents()', seconds*1000); } } xmlHttp.open("GET", url, true); xmlHttp.send(null); } var seconds = 5; window.onload = function startrefresh(){ setTimeout('refreshContents()', seconds*1000); }
Хотя это не может быть идеальным решением, jQuery имеет довольно простой способ реализовать именно это:
$(document).ready(function () { function reload() { $("#content").load("notification.php"); } setTimeOut(reload, seconds*1000) }
Я не уверен, что будет работать отлично, не сделал этого через некоторое время, но это гораздо более элегантное решение, которое я действительно верю.
Почему бы просто не поместить <meta http-equiv="refresh" content="5">
в ваш <head>
? Он обновит страницу каждые 5 секунд без необходимости в javascript.
см. следующий пример:
<html> <head> <title>Refresh a page in jQuery</title> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> </head> <body> <button id="PageRefresh">Refresh a Page in jQuery</button> <script type="text/javascript"> $('#PageRefresh').click(function() { location.reload(); }); </script> </body> </html>
этот код определенно поможет вам. или мы можем использовать –
<meta http-equiv="refresh" content="5">