Как прокрутить вниз или до определенного положения Y-px в операционном мини-мобильном браузере на странице без использования каких-либо 3-х библиотек, просто чистых js ??? Пробовал все возможное, от scrollTo до SCrollInto View ничего не работает. Помоги пожалуйста.Триггерная прокрутка в опере mini
ответ
Поведение прокрутки истинно, как в каждом современном браузере.
Когда вы просто открываете новое окно/вкладку и не касаетесь экрана, API-интерфейс прокрутки javascript через window.scrollTo(x,y)
работает fine, потому что вы не указали браузер, куда вы хотите прокрутить.
Но если вы запустите прокрутку события (например, проведите по экрану), когда ваша загрузка страницы браузера игнорирует API прокрутки javascript, например scrollTo
. И если вы обновите страницу, API прокрутки javascript не будет работать. Потому что это хорошая практика, чтобы вернуть пользователя на эту страницу, где пользователь был до обновления.
Также хеш-закладки могут scroll страница. Если вы установите #bookmark
на URL-адрес страницы, страница будет прокручиваться до закладки, пока вы не прокрутите страницу. И тогда вы прокрутите все, как написано выше: API прокрутки javascript будет проигнорирован.
Но есть один способ прокрутки в любом случае - manipulate с хэш-закладки:
window.scrollTo(0, 500);//will not work if the user scroll the page
location.hash = '';//reset hash
setTimeout(function() {
location.hash = 'bookmark';//will scroll to bookmark in any case
}, 1000)//remember about operamini timers limit
Он работает так, потому что использование должно контролировать страницы, а не его код.
С Opera doc, ниже неподдерживаемых DOM событий разделе вы найдете:
Как вы можете видеть, ключевые события, такие как нажатие клавиши и KeyUp не поддерживаются. Также нет событий касания и прокрутки.
So scroll
События не поддерживаются в Opera Mini. См. Other References
очень полезный комментарий, спасибо, но он не разрешает основную проблему, хотя, поскольку window.scroll вообще не работает даже без прокрутки, когда я просто загружаю свою страницу в код что-то вроде 'window.onload = function() {setTimeout (window.scroll (0,50), 100); } 'Нет прокрутки: –
Мой ответ о том, что' scrollTo' не будет работать, как ваш аспект, и это нормально. И мой пример кода с '# bookmark' показывает, как вы можете имитировать его (он работает в operamini) – Pinal