Quicklink Logo

This module provides an implementation of Google Chrome Lab's Quicklink library for Drupal. Quicklink is a lightweight (< 1kb compressed) JavaScript library that enables faster subsequent page-loads by prefetching in-viewport links during idle time.

How Quicklink works

Quicklink makes navigation to subsequent pages faster. It:

  1. Works with all modern browsers
  2. Detects links within the viewport (using Intersection Observer)
  3. Waits until the browser is idle (using requestIdleCallback)
  4. Checks if the user isn't on a slow connection (using navigator.connection.effectiveType) or has data-saver enabled (using navigator.connection.saveData)
  5. Prefetches URLs to the links (using <link rel=prefetch>).

What this module provides

This is a lightweight wrapper module that provides sensible defaults. Most sites will not need to modify any configuration.

  • Inserts the Quicklink library — either off of a CDN, or off the filesystem (if present).
  • Works with Drupal.behaviors to automatically prefetch URLs that get inserted via AJAX.
  • By default, loads the Quicklink library only for anonymous users.
  • Option to disable loading the Quicklink library on individual content types.
  • Has an option to disable loading the Quicklink library is PHP sessions are detected (useful for Drupal Commerce sites).
  • By default, ignores the prefetching of administrative links, AJAX-enabled links, and links that end with a file extension.
  • Provides option to ignore URLs with hashes (#) in them.
  • Provides a field for URL patterns to ignore.
  • Will not prefetch if a noprefetch hash or querystring parameter exists within the URL querystring.
  • Automatically ignores links that have a noprefetch or download attribute.
  • Automatically ignores the user/logout link 😎.
  • Provides a field to include additional domains that Quicklink will prefetch from (other than the origin domain).
  • Provides a debug mode checkbox that will help you figure out why or why not a link is getting prefetched.
  • Lots more!

Roadmap

  1. The 3.0.x version is now stable. It loads the 3.x version of the Quicklink library.
  2. The 2.0.x version is stable and supports both Drupal 8-11.
  3. The Drupal 7 version of the module is also stable.
Quicklink downloading files
Network requests being automatically downloaded while the user scrolls down the page.
Supporting organizations: 
AttachmentSize
Quicklink downloading files884.67 KB

Project information

Releases