Механизм Javascript для автоматической прокрутки до нижней части растущей страницы?

Надеюсь, это будет простой ответ для тех, у кого за плечами Javascript ...

У меня есть файл журнала, который отслеживается скриптом, который передает новые строки в журнале для любых подключенных браузеров. Несколько человек отметили, что то, что они хотят видеть, это скорее поведение «tail -f» - последние строки всегда будут внизу страницы браузера, пока зритель не прокрутится назад, чтобы что-то увидеть. Прокрутка назад до конца должна вернуть вас к режиму автопрокрутки.

Надеюсь, что в этом я зачеркну Google, просто не зная ничего о javascript и, следовательно, не зная, какие ключевые слова нужно искать. Мне не нужно полное решение - просто «достаточно близко», которое позволяет мне прыгать и пачкать руки.

РЕДАКТИРОВАТЬ:

Я пытался использовать идею scrollTop / scrollHeight, но явно что-то упустил. Я почти ничего не сделал с Javascript, поэтому, опять же, я, вероятно, задаю вопросы очень низкого уровня:

<html><body>
<script type="text/javascript">
for (i=0; i<100; i++)
{
    document.write("" + i + "<br />");
    document.scrollTop = document.scrollHeight;
}
</script>
</body></html>

Это была одна из многих перестановок. Очевидно, я не могу выводить журнал построчно в javascript, но я просто пытаюсь увидеть правильное поведение. Что за недостающее звено мне нужно здесь?

ИЗМЕНИТЬ СНОВА: Это превратилось в гораздо более интересную проблему, которую я впервые ожидал. Предложение кода с использованием window.scroll делает свое дело. Я начал играть с ограничением прокрутки, чтобы иметь место только тогда, когда браузер был в нижней части тела документа. Это достаточно легко сделать в теории, но на практике это наталкивает на трудности:

Каждый раз, когда вы получаете новый текст с сервера, размер тела увеличивается, и ваша текущая позиция прокрутки больше не находится внизу документа. Вы больше не можете определить разницу (используя scrollHeight, clientHeight и scrollTop), прокручивал ли пользователь вверх или только что текст вырвался за пределы его обзора.

Я думаю, что если это сработает, мне придется взять на себя обязательство иметь событие JS, которое срабатывает, когда пользователь прокручивает и отключает прокрутку, если они находятся над нижней частью окна, но включает его, если они прокрутились вниз до точки, где они фактически находятся внизу обзора. Я смотрю на событие onScroll и, учитывая, что математика по переменным, о которых я говорил, работает очень хорошо, я думаю, что я на правильном пути. Спасибо за ваш вклад, всем!

Ответы на вопрос(6)

Ваш ответ на вопрос