| <!doctype html> |
| <script> |
| const baseLocation = window.location; |
| const workerScript = |
| `self.onmessage = async (e) => { |
| const url = new URL(e.data, '${baseLocation}').href; |
| const response = await fetch(url); |
| const text = await response.text(); |
| self.postMessage(text); |
| };`; |
| const blob = new Blob([workerScript], { type: 'text/javascript' }); |
| const blobUrl = URL.createObjectURL(blob); |
| const worker = new Worker(blobUrl); |
| |
| function fetch_in_worker(url) { |
| return new Promise((resolve) => { |
| worker.onmessage = (e) => resolve(e.data); |
| worker.postMessage(url); |
| }); |
| } |
| </script> |