Выполняется ли каскадная предварительная выборка HTML?

На нашей домашней странице в разделе заголовка есть следующее:

      <link rel='prefetch' href='/pages/about/'>

На странице about есть следующее в разделе заголовка:

      <link rel='prefetch' href='/pages/terms/'>

Если пользователь переходит на домашнюю страницу, будет ли предварительно загружена страница условий?

Другими словами, каскадируется ли предварительная выборка?

1 ответ

Да согласно черновому стандарту, но может работать не так, как ожидается в вашем посте; Это не пререндер. Каскад обоих на главной странице.

      <link rel='prefetch' href='/pages/about/'>

<link rel='prefetch' href='/pages/terms/'>

Нет, согласно проекту, он не префектирует префект на префектуре.

Проект стандарта от 5 октября 2020 г. ... https://w3c.github.io/resource-hints/#prefetch

Является:

Тип связи предварительной выборки используется для идентификации ресурса, который может потребоваться для следующей навигации и который пользовательский агент ДОЛЖЕН получить, чтобы пользовательский агент мог предоставить более быстрый ответ после запроса ресурса в будущем.

и специально показывает каскад в примере, но для дополнительных ресурсов с этой страницы.

Пользовательский агент НЕ ДОЛЖЕН применять предварительную обработку к ответу и НЕ ДОЛЖЕН автоматически выполняться

Пререндер также находится в черновике. https://w3c.github.io/resource-hints/#prerender

Пользовательский агент МОЖЕТ предварительно обработать ответ HTML, также извлекая необходимые подресурсы и выполняя их (т.е. предварительно отображая страницу). Решение о том, какие этапы предварительного рендеринга выполнять, откладывается на пользовательский агент.

Prerender в настоящее время поддерживается на 73%, его поддерживают Edge и Chrome, а Firefox еще не поддерживает.

https://caniuse.com/link-rel-prerender

Сервисные работники

Если вам нужно больше контроля над кешем, Service Workers, которые являются частью Progressive Web Application, можно использовать с веб-сайта (service worker также отвечает за уведомления).

Внутри сервис-воркеров есть addResourcesToCache, он принимает массив, поэтому вы можете создать манифест того, что должно быть доступно, если соединение прерывается, чтобы перейти к страницам с информацией и терминами.

      addResourcesToCache([
  "/sw-test/",
  "/sw-test/index.html",
  "/sw-test/style.css",
  "/sw-test/app.js",
  "/sw-test/image-list.js",
  "/sw-test/star-wars-logo.jpg",
  "/sw-test/gallery/bountyHunters.jpg",
  "/sw-test/gallery/myLittleVader.jpg",
  "/sw-test/gallery/snowTroopers.jpg",
])
Другие вопросы по тегам