<!DOCTYPE html>
<html lang="pl" dir="ltr">
<head>
<meta charset="UTF-8">
<title>Ehhhhhh</title>
</head>
<body>
<script>
Object.defineProperty( Worker.prototype, 'raiseEvent', {
value( detail ) {
const event = {
type: 'event',
name: 'mycustomevent',
detail
};
this.postMessage( event );
}
} );
const worker = new Worker( 'worker.js' );
worker.raiseEvent( 'whatever' );
</script>
</body>
</html>
self.addEventListener( 'message', ( { data: { type, name, detail } = {} } ) => {
if ( type !== 'event' ) {
return;
}
const event = new CustomEvent( name, {
detail
} );
self.dispatchEvent( event );
} );
self.addEventListener( 'mycustomevent', console.log );