繁体   English   中英

如何从txt文档列表中获取文本字符串?

[英]how can I get text strings from list in txt document?

如果我想在我的网站上创建一个包含文本的div,并且想每5秒用一个新的文本字符串替换该文本,该字符串是从外部文本文件的列表中获取的,该怎么办。

因此,类似这样,但在“文本列表” div中,它将文本文件中的第一个字符串替换为第二行中的文本,然后在5秒钟后将其替换,依此类推。

码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test_text</title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script>
function run() {

document.getElementById("textlist").innerHTML = "The sting from the text file";

}

window.setInterval(run,5000);

</script>
</head>

<body>
<div id="textlist">the text</div>
</body>
</html>

文本文件例如如下所示:

/mytextfile.txt

(文件中的内容)

01:技巧1

02:技巧2

03:技巧3

04:技巧4

05:技巧5

06:技巧6

在此先感谢,希望如此。

我会做一些不同的事情:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test_text</title>
</head>

<body>
<div id="textlist">the text</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script>
$(document).ready(function () {
  var ajax = $.ajax({
    url: 'the url to the text list',
    type: 'GET'
  });

  ajax.done(function (data) {
    var list = $.trim(data).split(/\n+/), index = 0;

    function run() {
      if (index >= list.length) {
        index = 0;
      }
      $('#textlist').html(list[index]);
      index ++;
    }

    window.setInterval(run, 5000);
  });
});
</script>
</body>
</html>

因此,在此示例中,我们首先将所有脚本移到正文的底部。 这样,我们可以确保在脚本运行之前就已经渲染了HTML。

其次,我们将自定义JavaScript放入jQuery docready。 这样,在脚本尝试运行之前,我们可以完全安全地确保页面是完全交互式的。

我们要做的下一件事是使用ajax来获取文本文件。 由于同源策略,仅当该文件位于为网页提供服务的同一服务器上时,此方法才有效。

之后,我们将处理程序附加到ajax promise。 换句话说,当ajax请求“完成”时,它将运行一个函数并将传入的数据传递出去。 我们通过修剪字符串的空白并将其拆分到任何有新行的地方,将数据转换为列表。 我们还设置了一个变量来跟踪我们在列表中的位置。

run功能将检查以查看我们在列表中的位置。 如果超出列表中的项数,则将其重置为0。然后将元素的html替换为当前列表项。 最后,我们在列表中上移一位。

最后,我们调用setInterval使run将运行一次,每5秒。

警告:我还没有测试过,但是从概念上讲它会起作用。 我可能不知道与服务器有关,但可能有错别字或某些特定的Ajax要求,但我所描述的过程应该可以工作。

您可以为此使用ajax 。通过jquery (已附加到文档中)可以轻松地执行以下操作:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test_text</title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

    <script>
     var lines="";
    $.get( "your_text_file_path", function( data ) {
        lines=data.split("\n");


    });

    var i=0;  
    window.setInterval(function (){
     if(i<=lines.length){ 
     $("#textlist").html(lines[i]);
      i++;
      }else{
       i=0;
      }
    },5000);

    </script>
    </head>

    <body>
    <div id="textlist">the text</div>
    </body>
    </html>

这是你的演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM