Spec-Zone.ru › Web APIs

NavigateEvent: метод scroll()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех распространённых браузерах.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Экспериментальная функция: Это экспериментальная технология
Перед использованием в продакшене внимательно проверьте таблицу совместимости браузеров.

Метод scroll() интерфейса NavigateEvent можно вызвать, чтобы вручную запустить поведение прокрутки, управляемое браузером, которое происходит при навигации, если вам нужно, чтобы это произошло до завершения обработки навигации.

Синтаксис

scroll()

Параметры

Нет.

Возвращаемое значение

Нет (undefined).

Исключения

InvalidStateError DOMException

Выбрасывается, если текущий Document ещё не активен или если навигация была отменена.

SecurityError DOMException

Выбрасывается, если событие было вызвано методом dispatchEvent(), а не пользовательским агентом.

Примеры

Обработка прокрутки с помощью scroll()

В этом примере перехвата навигации функция handler() сначала извлекает и отображает содержимое статьи, а затем извлекает и отображает дополнительное содержимое. Логично прокрутить страницу к основной статье, как только она станет доступна, чтобы пользователь мог с ней взаимодействовать, а не ждать, пока отобразится дополнительное содержимое. Для этого мы добавили вызов scroll() между двумя операциями.

navigation.addEventListener("navigate", (event) => {
  if (shouldNotIntercept(navigateEvent)) {
    return;
  }
  const url = new URL(event.destination.url);

  if (url.pathname.startsWith("/articles/")) {
    event.intercept({
      async handler() {
        const articleContent = await getArticleContent(url.pathname);
        renderArticlePage(articleContent);

        event.scroll();

        const secondaryContent = await getSecondaryContent(url.pathname);
        addSecondaryContent(secondaryContent);
      },
    });
  }
});

Спецификации

Спецификация
HTML
# dom-navigateevent-scroll-dev

Совместимость браузеров

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
scroll 105102–108 105102–108 Нет 9188–94 Нет 105102–108 Нет 7270–73 Нет 20.019.0–21.0 105102–108

См. также

  • Современное клиентское маршрутизирование: API навигации
  • Разъяснение API навигации
  • Демонстрация API навигации Domenic Denicola's живой демонстрации

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/scroll

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API