Вы здесь

Quicklink

Интеграция Друпала с JS-библиотекой Google Chrome Lab Quicklink для предзагрузки ссылок.

Модуль Quicklink это интеграция Друпала с JS-библиотекой Google Chrome Lab Quicklink для предзагрузки ссылок. Эта маленькая библиотека, обеспечивающая более быструю последующую загрузку страниц, путём обработки ссылок в видимой части окна браузера при его простое.

Работа

Принципиально, ускорение последующей загрузки страниц осуществляется следующим образом:

  • Определяются ссылки в видимой части окна браузера (viewport; используется Intersection Observer)
  • Определяется переход браузера в режим ожидания (используется requestIdleCallback)
  • Проверяется скорость соединения пользователя с сетью (используется navigator.connection.effectiveType) или активность параметра сохранения данных (используется navigator.connection.saveData)
  • Получаются нужные URL (используется <link rel=prefetch> или XHR)

Непосредственно сам модуль предоставляет следующие возможности, параметры которых для большинства сайтов менять не нужно (они оптимальные по умолчанию для большинства сайтов):

  • Загружает библиотеку Quicklink из CDN или файловой системы (если доступна)
  • Загружает библиотеку Quicklink только для анонимных посетителей
  • Работает с Drupal.behaviors и context для автоматического предполучения URL добавляемых через AJAX
  • Предоставляет параметр для выключения загрузки библиотеки Quicklink для определённых типов содержания
  • Предоставляет параметр для выключения загрузки библиотеки Quicklink при обнаружении PHP-сессий (полезно для сайтов использующих Drupal Commerce)
  • Игнорирует предзагрузку ссылок ведущих на страницы управления сайтом, ссылок активирующих AJAX и ссылок заканчивающихся расширением файла
  • Предоставляет параметр для игнорирования URL с хешем (#)
  • Предоставляет поле для определения образцов URL, которые нужно игнорировать
  • Автоматически игнорирует ссылки с атрибутами noprefetch или download
  • Автоматически игнорирует ссылку user/logout
  • Предоставляет поле для включения дополнительных доменов с которых Quicklink будет предполучать данные
  • Имеет режим отладки, который помогает найти причину, по которой ссылка не получает предобработку
  • Может загружать Intersection Observer polyfill, чтобы Quicklink мог работать со старыми браузерами