a.port1.onmessage = function(evt) {
ok(evt.data.port, "Port has been received!");
window.removeEventListener('message', receiveMessage);
runTest();
}
try {
postMessage({ port: a.port2}, 42, '*');
ok(false, "PostMessage should throw! - no transfered port");
} catch(e) {
ok(true, "PostMessage should throw! - no transfered port");
}
try {
postMessage({ port: a.port2}, 42, '*', [a.port2, a.port2]);
ok(false, "PostMessage should throw - no duplicate!");
} catch(e) {
ok(true, "PostMessage should throw - no duplicate!");
}
postMessage({port: a.port2}, '*', [a.port2]);
}
function testPorts() { var a = new MessageChannel();
ok(a, "MessageChannel created");
window.addEventListener('message', receiveMessage);
function receiveMessage(evt) {
ok(evt.data, "Data is 42");
ok(evt.ports, "Port is received");
is(evt.ports.length, 1, "Ports.length is 1");
var a1 = new MessageChannel();
ok(a1, "MessageChannel created");
evt.ports[0].postMessage(42, [a1.port2]);
}
a.port1.onmessage = function(evt) {
ok(evt.data, "Data is 42");
ok(evt.ports, "Port is received");
is(evt.ports.length, 1, "Ports.length is 1");
window.removeEventListener('message', receiveMessage);
runTest();
}
postMessage(42, '*', [a.port2]);
}
var tests = [
testTransfer,
testPorts
];
function runTest() {
if (!tests.length) {
SimpleTest.finish();
return;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.