#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
Мне нужно простое решение для динамического отображения на веб-странице содержимого изменяющегося файла (результат некоторых вычислений). Я придумал следующее, которое кажется жизнеспособным решением (наверняка есть лучшие). К сожалению, я не достиг ожидаемого результата, поскольку содержимое output.txt
не загружено. Возможно, я упускаю что-то довольно простое.
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<style>
body {
font-family: monospace;
}
#target {
border: 1px solid gray;
min-height: 20em;
}
</style>
<h2>Yep</h2>
<textarea id="target" cols="60" rows="10">Loading...</textarea>
<script>
var checkInterval = 1; //seconds
var fileServer = "output.txt";
var lastData;
function checkFile() {
$.get(fileServer, function (data) {
// Update the text if it has changed
if (lastData !== data) {
$( "#target" ).val( data );
$( "#target" ).animate({
scrollTop: $( "#target" )[0].scrollHeight - $( "#target" ).height()
}, 'slow');
lastData = data;
}
});
}
$(document).ready(function () {
setInterval(checkFile, 1000 * checkInterval);
});
</script>
</body>
</html>
Комментарии:
1. Проверьте консоль вашего браузера на наличие ошибок.
2. Вот новичок в JavaScript. Но почему возникает ошибка $(document). ready(функция () { не определена?
3. Вы включили скрипт jQuery?
4. Да: <тип сценария=»текст / javascript» язык=»javascript» src=» code.jquery.com/jquery-3.3.1.js «></script > (Отредактированный OP) Содержимое файла не загружается (файл находится в том же каталоге, что и HTML)
5. Перезагрузите кэш, и теперь он работает. Приветствия.
Ответ №1:
Этот код может помочь вам динамически извлекать файл.
function read(){
jQuery.get('now.txt',function(data){document.write(data);});
}
Если вы хотите, чтобы она обновлялась каждые 3 секунды, используйте setInterval
Документация: