scrollTo не работает в Chrome
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<div>..опа</div>
<div style="width:300px; height:12000px; background:red"></div>
<script type="text/javascript">
window.onload = function()
{
window.scrollTo( 0, 2000 );
}
</script>
</body>
</html>
Фишка в чем: на верху браузера есть некий неинтересный юзеру контент. Чтобы он его не увидел, мы прокручиваем страницу с помощью window.scrollTo( 0, 2000 ); Скрипт работает везде кроме.. нет, в ие все замечательно. Почему-то тупит хром и не прокручивает страницу вниз. В чем косяк? |
Версия 23.0.1271.95 m - отлично работает
|
Версия 24.0.1312.52 m
Загрузили страницу, прокрутили вниз, жмем ф5,стрл-р, стрл-ф5 один фиг |
Chrome восстанавливает положение скроллбара при F5. А ваши юзеры должны будут жать F5? Хотя по Ctrl+F5 ничего не должно восстановиться, я бы назвал это багой. При обычных переходах по страницам все работает как надо. Если же вам нужно чтобы юзеры жали F5 и их кидало туда, куда вы хотите, то сработает такой трюк:
window.onload = function()
{
setTimeout(function(){ window.scrollTo( 0, 2000 ) });
}
И вешать надо не на window.onload, а на DOMContentLoaded (проще через jQuery(document).ready( .. ) ) Еще лучше сделать анимированную прокрутку. Опять же, проще на jQuery, но не обязательно. |
| Часовой пояс GMT +3, время: 05:00. |