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, время: 13:20. |