forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var mySharedWorker = new SharedWorker('file_spawn_shared_worker.js');
 | |
| mySharedWorker.port.onmessage = function(ev) {
 | |
|   parent.postMessage({
 | |
|     result: "shared-worker-allowed",
 | |
|     href: document.location.href,
 | |
|   }, "*");
 | |
|   mySharedWorker.port.close();
 | |
| }
 | |
| mySharedWorker.onerror = function(evt) {
 | |
|   evt.preventDefault();
 | |
|   parent.postMessage({
 | |
|     result: "shared-worker-blocked",
 | |
|     href: document.location.href,
 | |
|   }, "*");
 | |
|   mySharedWorker.port.close();
 | |
| }
 | |
| mySharedWorker.port.start();
 | |
| mySharedWorker.port.postMessage('foo');
 | |
| 
 | |
| // --------------------------------------------
 | |
| 
 | |
| let myWorker = new Worker("file_spawn_worker.js");
 | |
| myWorker.onmessage = function(event) {
 | |
|   parent.postMessage({
 | |
|     result: "worker-allowed",
 | |
|     href: document.location.href,
 | |
|   }, "*");
 | |
| }
 | |
| myWorker.onerror = function(event) {
 | |
|   parent.postMessage({
 | |
|     result: "worker-blocked",
 | |
|     href: document.location.href,
 | |
|   }, "*");
 | |
| }
 | |
| 
 | |
| // --------------------------------------------
 | |
| 
 | |
| navigator.serviceWorker.register('file_spawn_service_worker.js')
 | |
| .then(function(reg) {
 | |
|   // registration worked
 | |
|     reg.unregister().then(function() {
 | |
|       parent.postMessage({
 | |
|         result: "service-worker-allowed",
 | |
|         href: document.location.href,
 | |
|       }, "*");
 | |
|     });
 | |
| }).catch(function(error) {
 | |
|   // registration failed
 | |
|   parent.postMessage({
 | |
|     result: "service-worker-blocked",
 | |
|     href: document.location.href,
 | |
|   }, "*");
 | |
| });
 | 
