我想使用文本文件作为网站上文本的来源。我只是无法将其显示在想要的位置
我已经设法从文件中读取文本,但是现在我被卡住了。
这是我的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>
但是再次不显示任何内容。
我错过了什么还是做错了什么?
答案 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>