<!--
Any copyright is dedicated to the Public Domain .
http : / / creativecommons . org / publicdomain / zero / 1 . 0 /
-->
<!DOCTYPE HTML >
<html >
<head >
<meta charset="utf-8" >
<title >Test for DOM Worker Threads Suspending</title >
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head >
<body >
<pre id="test" >
<div id="output" ></div >
<script class="testbody" type="text/javascript" >
var worker;
var finish = false;
var bc = new BroadcastChannel("suspendWindow" );
bc.onmessage = (msgEvent) => {
var msg = msgEvent.data;
var command = msg.command ;
if (command == "startWorker" ) {
startWorker();
} else if (command == "navigate" ) {
window.location = "suspend_blank.html" ;
} else if (command == "finish" ) {
finish = true;
terminateWorker();
bc.postMessage({command : "finished" });
bc.close();
window.close();
}
}
function messageCallback(data) {
if (finish) {
return;
}
bc.postMessage({command : "messageCallback" , data});
}
function errorCallback(msg) {
if (finish) {
return;
}
bc.postMessage({command : "errorCallback" , data: msg});
}
var output = document.getElementById("output" );
function terminateWorker() {
if (worker) {
worker.postMessage("stop" );
worker = null;
}
}
function startWorker() {
var lastData;
worker = new Worker("suspend_worker.js" );
worker.onmessage = function(event) {
output .textContent = (lastData ? lastData + " -> " : "" ) + event.data;
lastData = event.data;
messageCallback(event.data);
};
worker.onerror = function(event) {
this.terminate();
errorCallback(event.message);
};
}
window.onload = () => {
bc.postMessage({command : "loaded" });
}
</script >
</pre >
</body >
</html >
Messung V0.5 in Prozent C=91 H=95 G=92
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland