JSFiddle - React, Tailwind, and code Playground

Window is not defined inside a Web Worker

by skibulk

HTML

<button id="openWindow">
Open Window
</button>

JavaScript

// Window is not defined inside a Web Worker

function createWorker( fn )
{
	var blobURL = URL.createObjectURL(
		new Blob(
			[ '(' + fn.toString() + ')()' ],
			{ type: 'application/javascript' }
		)
	);
	
	worker = new Worker( blobURL );
	URL.revokeObjectURL( blobURL );
	return worker;
}

function getWindow()
{
	onmessage = function( event ){
		postMessage("Nice to meet you");
		
		var popup = window.open("about:blank");
		popup.blur();
		window.focus();
	}
}

var openWindow = document.getElementById("openWindow");
openWindow.onclick = function( event ){
	var myWorker = createWorker( getWindow );

	worker.onmessage = function( event ){
		console.log(event.data);
	}

	worker.postMessage( "Hello" );
};