On Tue, 23 Feb 2010 21:36:15 +0100, Simon Pieters sim...@opera.com wrote:
step 3.
test.html
pre id=logLog:/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=logInner 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