Smoothscroll Anchor Polyfill Versions Save

⚓ Apply smooth scroll to anchor links, polyfill scroll-behavior

v1.3.4

2 years ago

Changelog

[1.3.4] - 2021-11-15

Fixed

  • use full anchor.href when pushing new URL to history, so the URL is resolved correctly even when a <base> element is used (#50)

v1.3.3

2 years ago

Changelog

[1.3.3] - 2021-11-13

Changed

  • Build setup now uses rollup for more robust artifacts (decreases file sizes for .mjs files but increases them for .js files)
  • Upgraded all dependencies
  • Updated year in copyright notices
  • Added package#packageManager field to support corepack

Fixed

  • Prevent global scope pollution in UMD builds (previous babel/terser setup created global variables e and t)

v1.3.2

4 years ago

Changelog

[1.3.2] - 2020-04-12

Fixed

  • The scroll navigation is now prevented if you call event.preventDefault() on the click event (fix #32)
  • Polyfill now skips handling click events if the href has a query string that is different from the current one (fix #28)
    Previously, a navigation from /?page=1 to /?page=2#content would not work: because the path is the same, the polyfill would intercept the navigation even though the different query params meant that the target was an entirely different page/website

v1.3.0

4 years ago

Changelog

[1.3.0] - 2019-06-12

Added

  • Support CSS variable --scroll-behavior
  • UMD/AMD module with define()

Changed

  • Deprecated window.__forceSmoothscrollAnchorPolyfill__
    (use polyfill({ force: true }) instead)

Fixed

  • After focusing a scroll target, the outline is only forcefully removed if it wasn't set by the user

v1.2.0

5 years ago

Changelog

[1.2.0] - 2018-12-14

Added

  • ES Module versions are now provided as index.mjs and index.min.mjs! 🚀
  • Firefox bug where <a href="#top"> doesn't smooth scroll now mentioned in docs

Changed

  • Update docs to mention Firefox supporting both scroll-behavior and prefers-reduced-motion

Fixed

  • Support for (URL-encoded) special characters in fragments, e.g. "#👍🏻" (which the browser will encode to "#%F0%9F%91%8D%F0%9F%8F%BB")

v1.1.3

5 years ago

Changelog

[1.1.3] - 2018-12-10

Changed

  • Updated README to include bundle size and SSR-compatibility as features
  • Minor improvements to JSDoc typings

Fixed

  • Automatically prefix anchor.pathname with leading slash if it's missing in isAnchorToLocalElement(), fixes flickering in IE9 (caused by clicks being handled by handleHashchange() instead of handleClick() due to click handler not detecting the clicked anchor)
  • Use correct property value in font-family example in README

v1.1.2

5 years ago

Changelog

[1.1.2] - 2018-12-10

Fixed

  • Include minified version in bundle published to npm

v1.1.1

5 years ago

Changelog

[1.1.1] - 2018-12-10

Fixed

  • Entry "unpkg" now actually points at minified version

v1.1.0

5 years ago

Changelog

[1.1.0] - 2018-12-10

Added

  • destroy() and polyfill() now return the polyfill instance so you can chain them
  • Tests for Node environment (→ SSR), destroy(), polyfill() and { force } override
  • Improved JSDoc typing for better IntelliSense completion
  • Entry "unpkg" in package.json, points at minified version so CDN serves smaller file

Changed

  • You can now override window.__forceSmoothscrollAnchorPolyfill__ with the { force: boolean } argument of polyfill()
  • Package entry ("main") now points to unminified file so typing hints are kept
  • Explain usage of { behavior: 'instant' } (not in spec anymore) + outline alternative

Fixed

  • (Regression) Prevent 'window is not defined' error in Node environments

v1.0.1

5 years ago

Changelog

[1.0.1] - 2018-12-08

Added

  • Added feature overview to README