Skip to content

Older Browsers

This page is for v4 of the legacy react-awesome-reveal package. Read the Awesome Reveal docs for the new @awesome-reveal/* packages, and the migration guide to move from v4.

Older browsers might be supported, depending on the React version you are using. React 18 dropped support for Internet Explorer, but you can keep using React 17 to overcome this.

Emotion, the companion dependency of React Awesome Reveal, currently supports older browsers, including Internet Explorer 11. However, this might change in future updates of the library.

In any case, the Intersection Observer API is not supported on older browsers, so you will need to polyfill it.

You can add the polyfill for the Intersection Observer API directly or by using a service like polyfill.io to inject it when needed:

Terminal window
npm install intersection-observer

Then import it in your app:

import "intersection-observer";

If you are using Vite, Webpack, Parcel or any other modern bundler, you can also use dynamic import to load the polyfill only if needed. A basic implementation could look something like this:

// Do feature detection, to figure out which polyfills needs to be imported
async function loadPolyfills() {
if (typeof window.IntersectionObserver === "undefined") {
await import("intersection-observer");
}
}