| <!DOCTYPE html> | |
| <head> | |
| <title>data URL shared worker</title> | |
| </head> | |
| <body> | |
| <script> | |
| onmessage = event => { | |
| const port = event.ports[0]; | |
| // This shared worker counts the total number of connected documents and | |
| // notifies the connector of it. | |
| const kScript = | |
| "onconnect = e => {" + | |
| " if (self.count === undefined)" + | |
| " self.count = 0;" + | |
| " self.count++;" + | |
| " e.ports[0].postMessage(self.count);" + | |
| "};"; | |
| const worker = new SharedWorker('data:application/javascript,' + kScript); | |
| worker.port.onmessage = e => port.postMessage(e.data); | |
| }; | |
| window.opener.postMessage('LOADED', '*'); | |
| </script> | |
| </body> | |
| </html> |