blob: d71aeaf0a88ee5ec2456a7db0870f57c84f03623 [file] [log] [blame]
<!--
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>
<!--
*/
//-->