document.write - пишет в тело документа прямо по мере загрузки, т.е. докачался первый кусок - сразу обработан, и результат document.write вкинут прямо на живую в поток обработки поступающего текста.
Потому для динамического обновления его использовать уже нельзя, ибо когда страница загружена - исходный текст выгружается из памяти за не надобностью, остаётся лишь результат разбора в виде сложного объекта - DOM.
Со справкой покончили, теперь код
:
function updateInfo(file, target, interval){
if(typeof target !== 'object')
target = document.querySelector(target);
function stop(){
clearTimeout(timer);
xmlhttp.abort();
}
function update(){
xmlhttp.open('GET', file + '?' + Math.random(), true);
xmlhttp.send();
}
var xmlhttp = new XMLHttpRequest(), timer;
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState !== 4)
return;
if(xmlhttp.status !== 200)
console.log('updateInfo: ' + xmlhttp.statusText);
else
target.innerHTML = xmlhttp.responseText;
timer = setTimeout(update, interval);
}
update();
return {
start: update,
stop: stop
}
};
updateInfo('./temperatura.txt', 'table td:nth-child(2)', 1000);