Browser support
The SDK requires browser support for:
- Mutation Observer, to record mutations of the DOM.
- ECMAScript modules, and dynamic import, as the SDK is bundled to ES modules, and lazy-loads code with dynamic imports.
- CSS custom properties for styling.
These requirements result in roughly 98.2% browser coverage as of October 2022. Not supported: Internet Explorer 11 and some mobile browsers like Opera Mobile.
When end-users using an unsupported browser access a page with the SDK on it, the default SDK trigger button is not added to the page. All custom buttons with the data-birdeatsbug="trigger"
attribute are hidden, window.birdeatsbug.isBrowserSupported
is false
, and the afterInit hook
receives an object with the isBrowserSupported
attribute set to false
.
Screenshot functionality
For screenshots, the browser must support the MediaDevices API's getDisplayMedia() functionality to take screenshots of the page. While support on desktop browsers is good, this API is no available in mobile browsers.
When end-users using an unsupported browser access a page with the SDK on it, window.birdeatsbug.isScreenshotSupported
is false
, and the afterInit hook
receives an object with the isScreenshotSupported
attribute set to false
.
Therefore, while the SDK will load in most mobile browsers if the main requirements are met, the screenshot button will not show up in the default UI's introduction screen. Custom triggers using the takeScreenshot()
method without checking for isScreenshotSupported
, will produce a session without any media.