Я пишу небольшое приложение для чата и чата, в котором я использую следующий фрагмент кода, чтобы обновлять div журнала сообщений каждые 0,5 секунды и обновлять до конца, чтобы показать последнее сообщение.
$(setInterval(function() {
$('.messageLog').load('display_messages.php');
window.location='#bottom';
}, 500));
«#bottom» относится к пустому div, который я поместил в конце div .messageLog, поэтому у меня есть место, которое будет называться нижней частью журнала сообщений.Проблема с этим методом заключается в том, что когда я пытаюсь войти (просто введя имя пользователя и нажав кнопку входа через небольшую форму в верхней части окна чата), поле ввода имени пользователя обновляется и теряет фокускаждые 0,5 секунды в Firefox и Internet Explorer (отлично работает в Chrome).Проблема оказывается в строке "window.location = '# bottom'", которая вызывает проблему с фокусировкой поля ввода.
Мне было интересно, есть ли способ обойти это, чтобы я все еще мог обновитьЖурнал сообщений каждые 0,5 секунды и автоматически прокручивается до самого дна, не мешая пользователям, пытающимся войти через поле имени пользователя.