| <html> |
| <title>Code cache strategy test</title> |
| <script> |
| async function fetch_script(url) { |
| try { |
| await fetch(url).then(res => res.text()); |
| return 'DONE'; |
| } catch (error) { |
| return `${error}`; |
| } |
| } |
| |
| async function post_message(command) { |
| return new Promise(resolve => { |
| let listener = (e) => { |
| navigator.serviceWorker.removeEventListener('message', listener); |
| resolve(e.data); |
| }; |
| navigator.serviceWorker.addEventListener('message', listener); |
| navigator.serviceWorker.controller.postMessage({ command: command }); |
| }); |
| } |
| |
| async function execute_cached_twice_script() { |
| return new Promise(resolve => { |
| const tag = document.createElement('script'); |
| tag.src = 'code_cache_strategy_test_script.js?cached_twice'; |
| tag.onload = () => { |
| const result = test_function(); |
| resolve(result); |
| }; |
| document.body.appendChild(tag); |
| }); |
| } |
| </script> |
| </html> |