Skip to content

v1.0.8

Choose a tag to compare

@smkrv smkrv released this 11 Jan 14:24
· 68 commits to main since this release

v1.0.8 — добавлена ESM-версия

ESM версия

Добавлена ESM версия библиотеки для использования в современных бандлерах (Vite, Webpack, Rollup) и <script type="module">.

Новые файлы в npm пакете:

  • prefetch.esm.js — ESM версия
  • dist/prefetch.esm.min.js — минифицированная ESM

Использование:

import Prefetch from '@prefetchru/prefetch'

CSP nonce:

  • При прямом подключении <script type="module" src="prefetch.esm.js" nonce="..."> — nonce определяется автоматически
  • При использовании через бандлер — передавайте через <body data-prefetch-nonce="...">

SSR: ESM версия безопасна для серверного рендеринга — возвращает заглушку если нет window.


v1.0.7 — Улучшения стабильности и точности

Исправления и улучшения:

  • Улучшена обработка событий мыши;
  • mouseleave вместо mouseout — событие больше не срабатывает ложно при переходе курсора на вложенные элементы внутри ссылки (например, <span>, <img>);
  • Защита от дублирования таймеров — при множественных mouseover по вложенным элементам больше не создаются лишние таймеры предзагрузки;
  • Улучшена фильтрация ссылок;
  • Исключение пустых href — ссылки <a href=""> и <a> без атрибута href теперь игнорируются (часто используются как кнопки с JavaScript-обработчиками);
  • Проверка текущей страницы — больше не пытаемся префетчить страницу, на которой уже находимся;
  • Точная проверка action-путей;
  • Пути /add, /delete, /remove теперь блокируются только как отдельные сегменты URL;
  • Ссылки типа /address, /additional, /delicious больше не блокируются ошибочно;
  • Регистронезависимость расширений;
  • Файлы .PDF, .ZIP, .DOC и т.д. теперь корректно распознаются независимо от регистра.

Full Changelog: v1.0.7...v1.0.8


Integrity (SRI) IIFE — prefetch.min.js

sha384-nNS1JL47ofhJMYvmWpvqMewFJ5iYNbVM1VOJs+IHoicVzN3cWbMFxuki4n2pmdck