On Tue, 23 Feb 2010 21:36:15 +0100, Simon Pieters <sim...@opera.com> wrote:
step 3. test.html <pre id="log">Log:</pre> <script> var worker = new SharedWorker('test.js'); var log = document.getElementById('log'); worker.port.addEventListener('message', function(e) { log.textContent += '\n' + e.data; }, false); worker.port.start(); worker.port.postMessage('ping'); </script> <iframe src=other.html></iframe> other.html <pre id=log>Inner log:</pre> <script> var worker = new SharedWorker('test.js'); var log = document.getElementById('log'); worker.port.onmessage = function(e) { log.textContent += '\n' + e.data; } </script> test.js onconnect = function(e) { var port = e.ports[0]; port.postMessage('hello'); port.onmessage = function(e) { port.postMessage('pong'); } }
The worker script could be modified in step 3 as follows to make it clear that the script is in fact shared:
test.js var i = 0; onconnect = function(e) { i++; var port = e.ports[0]; port.postMessage('hello, ' + i); port.onmessage = function(e) { port.postMessage('pong'); } } -- Simon Pieters Opera Software