首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在网页上显示每秒更新的txt文件

在网页上显示每秒更新的txt文件
EN

Stack Overflow用户
提问于 2011-06-23 15:50:18
回答 7查看 18.3K关注 0票数 8

我在这里有点像在黑暗中拍摄;我不知道如何做到这一点,所以一些有帮助的教程的指针和/或链接将是很棒的:

我有一个网站,我想显示一个文本文件(服务器日志)。可能是内嵌的。问题是,每当服务器中发生事件时,此文件都会更新(通常快于半秒)。我如何才能使网页实时显示文件,即显示文件的实时提要?

我的猜测是它会使用javascript和AJAX,但我对这两种语言的了解都非常有限。如有任何建议和帮助,我们将不胜感激:)

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-08-10 17:29:24

我的答案是使用PHP和Ajax,不过改用ASP或任何其他语言都不难。

在头上

代码语言:javascript
复制
    <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>
代码语言:javascript
复制
  In the Body     
代码语言:javascript
复制
    <script type="text/javascript">
        setTimeout(function() {Ajax();}, 1000);
    </script>
    <div id="ReloadThis">Default text</div>

</body>

现在使用loadtxt.php读取文本文件的值

代码语言:javascript
复制
    <?php
        $file = "error.txt";
        $f = fopen($file, "r");
        while ( $line = fgets($f, 1000) ) {
            print $line;
        }
    ?>
票数 9
EN

Stack Overflow用户

发布于 2011-06-23 18:08:30

使用jQuery,您可以执行以下操作

代码语言:javascript
复制
setInterval(function() {
    $('#element').load('/url/to/file');
}, 1000);

将每隔1秒用文件内容刷新一次ID为element的div

票数 8
EN

Stack Overflow用户

发布于 2011-06-23 15:53:22

您可以使用jQuery .get每隔几秒钟获取一次文件并更新页面以显示其内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6450921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档