У нас есть приложение HTML5 (<!DOCTYPE html>
) с Twitter Bootstrap и различными другими библиотеками JavaScript (включая jQuery) - все они работают в своих текущих версиях.
Страница содержит текстовый ввод с установленным атрибутом autofocus
.
<input type="text" autofocus="autofocus" />
Страница содержит более одного «экрана» контента, что означает, что на странице всегда будет вертикальная полоса прокрутки. Поле для ввода текста находится в пределах первой «складки» страницы, прибл. 250 пикселей от верха страницы.
В Chrome, Safari и Opera страница работает должным образом. Когда страница загружается, элемент отображается на экране и находится в фокусе.
В FireFox (текущая версия - 18.0.1) элемент имеет фокус, но страница прокручена до 1533 пикселей (определяется через window.pageYOffset). Одна и та же страница с разной длиной содержимого всегда будет прокручиваться в одну и ту же позицию, а элемент будет отображаться за пределами экрана.
Определенно есть только один элемент с установленным атрибутом автофокуса ($("[autofocus]").length
).
Удаление атрибута autofocus из элемента вообще не приводит к прокрутке страницы (т.е. страница остается прокрученной вверх - как и ожидалось).
Может ли кто-нибудь предложить какую-либо помощь или понимание?
Вещи, которые мы пробовали
Следующий тест работает правильно:
<!DOCTYPE html>
<html>
<head> </head>
<body>
<div style="height: 200px">
<h1>Test</h1>
</div>
<div style="height: 2000px">
test
<br />
<input autofocus type="text" />
</div>
</body>
</html>