每5秒自动刷新一次Div

时间:2020-01-09 07:10:30

标签: javascript jquery html dom

我必须每5秒钟更新一次div标签 为此,我需要读取本地.txt文件,并在更新.txt时向网页显示输出,然后使用html和javascript将数据加载到网页中 我正在使用烧瓶服务器

<script type="text/javascript">

    var refreshDiv = setInterval(
    function(){
    var fs = require('fs');
    // var text = fs.readFileSync("static/output.txt");
    var text = fs.readFileSync(path.join(__dirname, 'txt', 'static/output.txt'))
    var textByLine = text.split("\n")

        testByLine = testByLine + 1;
        document.getElementById("test").innerHTML = "aaa" + testByLine;
        location.reload(true);
      }, 4000;
</script>

4 个答案:

答案 0 :(得分:0)

执行此操作的各种方法,但我想做的是保持代码的整洁,因此我将该方法放在函数中。

//embed the code here 
function runMycode(){
    var fs = require('fs');
    // var text = fs.readFileSync("static/output.txt");
    var text = fs.readFileSync(path.join(__dirname, 'txt', 'static/output.txt'))
    var textByLine = text.split("\n")

        testByLine = testByLine + 1;
        document.getElementById("test").innerHTML = "aaa" + testByLine;
        location.reload(true);
}

如果要多次运行

//set the timeout function and run the code
setInterval(function(){
   runMyCode();
}, 30000);

或者如果您想运行一次

setTimeout(function() {   
  runMyCode();
}, 50000);

如果您想在浏览器中执行此操作,只要将此meta标签添加到head标签中就可以为您完成。

<meta http-equiv="refresh" content="30"/>

答案 1 :(得分:0)

这应该可以工作,我想您缺少setInterval的右括号

<script type="text/javascript">

    var refreshDiv = setInterval(
    function(){
    var fs = require('fs');
    // var text = fs.readFileSync("static/output.txt");
    var text = fs.readFileSync(path.join(__dirname, 'txt', 'static/output.txt'))
    var textByLine = text.split("\n")

        testByLine = testByLine + 1;
        document.getElementById("test").innerHTML = "aaa" + testByLine;
        location.reload(true);
      }, 5000);
</script>

答案 2 :(得分:0)

在我看来,您在);之后丢失了4000;。应该是4000);

因此,您的代码应如下所示

<script type="text/javascript">
    var refreshDiv = setInterval(
    function(){
    var fs = require('fs');
    // var text = fs.readFileSync("static/output.txt");
    var text = fs.readFileSync(path.join(__dirname, 'txt', 'static/output.txt'))
    var textByLine = text.split("\n")

        testByLine = testByLine + 1;
        document.getElementById("test").innerHTML = "aaa" + testByLine;
        location.reload(true);
      }, 4000);
</script>

答案 3 :(得分:0)

在将文件内容添加到div之前,只需清除div内容即可。我认为您不需要使用location.reload。只需清除div。

var fs = require('fs');
var refreshDiv = setInterval(function(){
    document.getElementById("test").innerHTML = "aaa"
    var text =  
    fs.readFileSync(path.join(__dirname,'txt','static/output.txt'));
    var textByLine = text.split("\n")

    testByLine = testByLine + 1;
    document.getElementById("test").innerHTML = "aaa" + testByLine;
}, 5000);

也不需要每5秒使用fs个库。公开。

注意::您错过了该功能的)端。