我在这里有点像在黑暗中拍摄;我不知道如何做到这一点,所以一些有帮助的教程的指针和/或链接将是很棒的:
我有一个网站,我想显示一个文本文件(服务器日志)。可能是内嵌的。问题是,每当服务器中发生事件时,此文件都会更新(通常快于半秒)。我如何才能使网页实时显示文件,即显示文件的实时提要?
我的猜测是它会使用javascript和AJAX,但我对这两种语言的了解都非常有限。如有任何建议和帮助,我们将不胜感激:)
发布于 2011-08-10 17:29:24
我的答案是使用PHP和Ajax,不过改用ASP或任何其他语言都不难。
在头上
<script type="text/javascript">
function Ajax()
{
var
$http,
$self = arguments.callee;
if (window.XMLHttpRequest) {
$http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
$http = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
$http = new ActiveXObject('Microsoft.XMLHTTP');
}
}
if ($http) {
$http.onreadystatechange = function()
{
if (/4|^complete$/.test($http.readyState)) {
document.getElementById('ReloadThis').innerHTML = $http.responseText;
setTimeout(function(){$self();}, 1000);
}
};
$http.open('GET', 'loadtxt.php' + '?' + new Date().getTime(), true);
$http.send(null);
}
}
</script> In the Body <script type="text/javascript">
setTimeout(function() {Ajax();}, 1000);
</script>
<div id="ReloadThis">Default text</div>
</body>
现在使用loadtxt.php读取文本文件的值
<?php
$file = "error.txt";
$f = fopen($file, "r");
while ( $line = fgets($f, 1000) ) {
print $line;
}
?>发布于 2011-06-23 18:08:30
使用jQuery,您可以执行以下操作
setInterval(function() {
$('#element').load('/url/to/file');
}, 1000);将每隔1秒用文件内容刷新一次ID为element的div
发布于 2011-06-23 15:53:22
您可以使用jQuery .get每隔几秒钟获取一次文件并更新页面以显示其内容。
https://stackoverflow.com/questions/6450921
复制相似问题