如何使用javascript

时间:2019-06-11 17:00:47

标签: javascript html

我想使用文本文件作为网站上文本的来源。我只是无法将其显示在想要的位置

我已经设法从文件中读取文本,但是现在我被卡住了。

这是我的readFile函数:

<script>
  function readFile(input){
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        var textFileText = searchFile(this.responseText, input);
        document.getElementById(input).innerHTML = this.textFileText;
      }
    };
    xhttp.open("GET", textFile, true);
    xhttp.send();
  }
</script>

我已经尝试了,并且可以正常工作。

这是searchFile函数:

<script>
  function searchFile(text, searched){
    var output;
    var n = text.search(searched);
    output = text.substr((n+str.length+2), text.indexOf('\n'));
    return output;
  }
</script>

应该为特定单词过滤文件中的文本。

文本文件如下所示:

[header]=text
[thing1]=more text

我的想法是,如果我这样调用函数:

readFile("thing1");

输出应为“更多文字”

在这里我调用该函数以显示标题Text:

<h2 onload = "readFile(this.id)" id = "header"></h2>

但是什么也没显示。

我也尝试过:

<h2 onload = "readFile('header')" id = "header"></h2>

但是再次不显示任何内容。

我错过了什么还是做错了什么?

2 个答案:

答案 0 :(得分:1)

对于onload没有h2或与此相关的大多数标签。因此,与其从onload调用该函数,不如从页面上的脚本标记内调用该函数。

<script>readFile('header');</script>

答案 1 :(得分:0)

我在您的代码中检测到的唯一错误是滥用变量=>

<script>
  function searchFile(text, searched){
    var output;
    var n = text.search(searched);
    //output = text.substr((n+str.length+2), text.indexOf('\n'));
    output =  text.substr((n+searched.length+2), text.indexOf('\n'));
    return output;
  }
</script>