qgis-js uses the following features which have to be supported by the JavaScript/WebAssembly runtime:
- ES modules with dynamic imports
- SharedArrayBuffer
- WebAssembly
In order to use SharedArrayBuffer a secure cross-origin context is required. This means that the Cross-Origin-Opener-Policy (COOP) and Cross-Origin-Embedder-Policy (COEP) headers have to be set by the server.
Alternativley one can use coi-serviceworker to set the headers through a service worker. This makes it possible to use qgis-js for example on GitHub pages.
The features listed above are supported by the following browsers:
-
Chromium based browsers (>= 95)
-
Firefox (>= 100)
-
Safari (15.2, yet to be tested!)
🚧 At the moment we don't support mobile browsers
🚧 At the moment only browsers are supported