Я работаю над проектом, в котором мой клиент просит загрузить страницу наверху. Вот требованиеChrome/Safari - window.scroll на странице load
Всякий раз, когда вы обновляете страницу, независимо от того, где вы находитесь в браузере, страница должна обновляться в верхней части страницы.
Для этого я использовал две функции window.scroll(0,0)
и scrollTop(0)
при загрузке документа.
jQuery(document).ready(function(e){
window.scroll(0,0);
});
И
jQuery(document).ready(function(e){
jQuery("body,html,document").scrollTop(0);
});
я получить желаемые результаты в браузерах с использованием любого из указанных выше двух кодов, за исключением Chrome/Safari.
Это то, что я испытываю в Chrome/Safari. Предположим, что я нахожусь внизу страницы, а затем обновляю ее, а затем получаю события в следующей последовательности.
- Страница загружается в том месте, где я был на момент обновления. (Снизу - загрузка страницы).
- Тогда функции, упомянутые выше, работают и верните меня в начало страницы. (Все еще загружается).
- Наконец, когда страница полностью загружается, она возвращает меня туда, где я был во время обновления страницы, то есть внизу.
Вы можете проверить его на this page.
Я также попытался установить функцию тайм-аута как.
jQuery(document).ready(function(e){
setTimeout(function() {window.scrollTo(0, 0);},500)
});
Теперь это работает на некоторых страницах, но не на всех. Поэтому я ищу лучший способ, чем мой. Спасибо.
Вы уверены, что с "beforeunload"? Я думаю, это для страницы. Не так ли? –
@Symbolwdd Вы не можете заставить chrome scrollTop 0, он будет прыгать только после первого события прокрутки, однако вы можете обмануть браузер с событием beforeunload. – Tom
Я пробовал ваш код и не повезло. –