После загрузки документа что-то возвращается к 0,0 - PullRequest
0 голосов
/ 16 мая 2019

У меня есть этот JS для прокрутки в определенное место при загрузке страницы (который для Rails с Turbolinks находится на загрузке Turbolinks):

document.addEventListener("turbolinks:load", function() {
  window.scrollTo(240,1);
});

Но когда я загружаю страницу, она загружается на 240,1 на долю секунды, а затем возвращается к 0,0.

Кто-нибудь есть идеи, что вызывает эту отложенную прокрутку до 0,0?

Я также пытался заменить "turbolinks:load" с "page:load" и "ready" они тоже не работают.

Вещи, которые могут иметь отношение:

  • Рабочий стол Chrome
  • Ruby on Rails 5.2.3
  • Turbolinks 5
  • Нет других пользовательских JS

Ответы [ 2 ]

2 голосов
/ 16 мая 2019

Попробуйте history.scrollRestoration = 'manual';.Это должно предотвратить прокрутку страницы назад к предыдущей позиции.

1 голос
/ 16 мая 2019

Добавить этот скрипт в консоль разработчика dev

window.onscroll = function (e) {  
  console.log("Window scrolled");
} 

Теперь добавьте точку останова и проверьте стек вызовов, как показано на рисунке ниже.
Это покажет вам все функции, которые изменяют прокрутку окна.
Обратите внимание, что если вы прокрутите страницу самостоятельно, эта функция будет выполняться и тогда.

enter image description here


Надеюсь, это поможет !!

...