0.0.2

Browser Support

Supported browsers, required polyfills, and compatibility notes.

Scena targets modern browsers that support ES2020+. The compiled output uses async/await, optional chaining, nullish coalescing, and IntersectionObserver — all available in current versions of major browsers without polyfills.

Supported browsers

BrowserMinimum version
Chrome80+
Firefox80+
Safari14+
Edge80+ (Chromium-based)
Opera67+
Samsung Internet13+

Required Web APIs

Scena relies on the following browser APIs at runtime:

APIUsed for
IntersectionObserverDetecting widget visibility in the viewport for autoplay/pause
ResizeObserverAdapting widget layout when the container resizes
customElementsCustom Element registration (defineScenaElement())
HTMLVideoElementCore video playback
CSS Custom PropertiesTheming and dynamic style overrides

All listed APIs are supported in the browsers above. If you need to support older browsers, include the corresponding polyfills before loading Scena.

Internet Explorer

Internet Explorer is not supported. Scena uses ES Module syntax, CSS custom properties, and modern DOM APIs that have no IE equivalents.

Mobile browsers

Scena works on mobile Chrome, Safari (iOS), Firefox, and Samsung Internet. Note that iOS Safari enforces additional restrictions on video autoplay — the video must be muted for autoplay to work without user interaction. Scena respects these constraints when autoplay: true and muted: true are set in the config.

Node.js

For SSR or prerendering scenarios, Scena requires Node.js 16.0 or later. The CommonJS build is available for require() usage. Note that actual video playback requires a browser DOM — the Node.js build is intended for server-side mounting logic and config preparation.