2015-02-09 5 views
2

Я знаю, что и , и scrollTo() делают то же самое и что браузеры поддерживают обе, чтобы обеспечить обратную совместимость, но какая из них устарела? Какой из них я должен использовать? И есть ли способ предотвратить сохранение браузером позиции прокрутки на странице, так что мне не нужно использовать прослушиватель событий "beforeunload", чтобы сбросить мою позицию прокрутки до (0,0) прямо перед тем, как пользователь покинет страницу? Я всегда хотел бы, чтобы моя страница отображалась каждый раз с помощью положения прокрутки в (0,0), потому что это скорее интерактивная игра, чем веб-сайт, и требует этой функции.Javascript: scrollTo() vs scroll(), который является общепринятым/стандартным методом

W3Schools кажется только ссылкой scrollTo(), так что это может быть стандарт. Тем не менее, обходной путь для прослушивателя событий "beforeunload" был бы приятным, чтобы моя страница всегда начиналась в позиции прокрутки (0,0) без дополнительного прослушивателя.

ответ

2

W3 фактически перечисляет оба метода в их спецификации интерфейса окна: http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface

Вы можете смело использовать любой из них.

+1

Это похоже на смущение, но я думаю, это работает. – Frank

+0

Действительно, именно так все сложилось до того, как были какие-то стандарты. К сожалению, я не думаю, что есть способ обойти сброс позиции прокрутки, поскольку я считаю, что браузеры обрабатывают это изначально. Вы также можете попытаться заставить свиток (0,0) всякий раз, когда страница загружается. – skyline3000

+0

Есть ли способ заставить свиток? Прямо сейчас использование «beforeunload» работает, но явно вызывает 'window.scrollTo (0,0)', похоже, не работает. – Frank