I'm working on some code that needs to change its behavior (using import() vs importScripts()) when running in a module worker. Is there any kind of way to detect what "type" of WebWorker you're running in?
The only way I can think of is using this in chrome, but obviously this isn't a great solution...
let isModuleWorker = false;
try {
importScripts('about:blank')
} catch(e) {
// the full error text in *chrome* is "Module scripts don't support importScripts()"
isModuleWorker = e.message.contains('Module scripts');
}
This is clearly not a good solution, but I haven't seen anything else I can use to make this distinction. Does anyone have a better idea?