| <!-- |
| if ('onmessage' in self) { // dedicated worker |
| onmessage = function(e) { |
| postMessage(navigator.onLine); |
| } |
| } else { // shared worker |
| onconnect = function(e) { |
| e.ports[0].onmessage = function(e) { |
| this.postMessage(navigator.onLine); |
| } |
| } |
| } |
| /* |
| --> |
| <!doctype html> |
| <title>navigator.onLine in dedicated worker</title> |
| <pre>Log: |
| </pre> |
| <script> |
| var pre = document.querySelector('pre'); |
| var worker, shared; |
| try { worker = new Worker('#'); } catch(e) { pre.textContent += '\nnew Worker threw: ' + e.message; } |
| try { shared = new SharedWorker('#', ''); } catch(e) { pre.textContent += '\nnew SharedWorker threw: ' + e.message; } |
| if (worker) { |
| worker.onmessage = function(e) { |
| pre.textContent += '\ndedicated worker: ' + e.data; |
| } |
| } |
| if (shared) { |
| shared.port.onmessage = function(e) { |
| pre.textContent += '\nshared worker: ' + e.data; |
| } |
| } |
| function update() { |
| pre.textContent += '\n\n' + new Date() + '\n<script>: ' + navigator.onLine; |
| if (worker) worker.postMessage(1); |
| if (shared) shared.port.postMessage(1); |
| } |
| update(); |
| ononline = onoffline = update; |
| </script> |
| <p>As you go online and offline, the log should be filled with the correct status of navigator.onLine.</p> |
| <p><button onclick="update()">Check navigator.onLine status</button></p> |
| <!-- |
| */ |
| //--> |