使用JavaScript从文本文件中读取数字时遇到了一些麻烦。
setInterval("readTextFile()", 500);
function readTextFile() {
var rawFile = new XMLHttpRequest();
rawFile.open("GET", "zoom.txt", false);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4) {
if (rawFile.status === 200 || rawFile.status == 0) {
var allText = rawFile.responseText;
document.getElementById('boldStuff').innerHTML = allText;
writeln(allText);
}
}
}
rawFile.send(null);
}
目标是每隔zoom.txt
将值读入500ms
,但此代码不起作用。
文本文件中的值不会在F5上刷新,但仅限于我在浏览器中打开(或刷新)zoom.txt时。
我发现一些奇怪的东西,这个代码第一次在Midori上使用时就可以了。你能帮帮我吗?
谢谢,
编辑: 我试过了:
setInterval(readTextFile, 500);
setInterval(test, 500);
function readTextFile()
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", "zoom.txt", false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
document.getElementById('boldStuff').innerHTML = allText;
}
}
}
rawFile.send(null);
}
function test(){
document.getElementById('boldStuff').innerHTML = '';
}
我的值在屏幕上闪烁,但即使我修改它也不会改变。
答案 0 :(得分:3)
setInterval
的第一个参数应该是函数,而不是函数调用。
setInterval(readTextFile, 500); //No need of quotes
答案 1 :(得分:0)
如果从页面刷新文本文件中获取数据意味着您的代码工作正常。
现在,您需要更改文本文件中的文本,以便从文本文件中获取新值。
要检查每个间隔的内容,您需要清空div的html,
function readTextFile() {
// empty the div first to get the new value from text file
document.getElementById('boldStuff').innerHTML = '';
...
答案 2 :(得分:0)
好的,我清空Firefox的缓存并避免使用它,代码运行正常。