Information Technology Reference
In-Depth Information
Abbildung 10.1:
Web Worker auf der Suche nach Schaltjahren
Beim Klick auf die Schaltfläche
S
TART
wird die
startCalc()
-Funktion ausge-
führt. In dieser wird die eingestellte Schrittweite aus dem
option
-Feld gelesen,
und anschließend wird der Web Worker
worker
mit dem Script
date_worker.js
initialisiert.
var opts = document.forms.stepForm.step.options;
startCalc = function() {
var step = opts[opts.selectedIndex].value;
var w = new Worker('date_worker.js');
w.postMessage(step);
Der Aufruf der
postMessage()
-Funktion, dem die gewählte Schrittweite überge-
ben wird, kommuniziert mit dem Event-Listener für das
message
-Event in dem
Script
date_worker.js
. Der Worker beginnt jetzt mit seiner Arbeit.
addEventListener('message', function(evt) {
var today = new Date();
var oldMonth = -1;
for (var i=0; i<today; i+=Number(evt.data)*1000) {
var d = new Date(i);
if (d.getDate() == 29 && d.getMonth() == 1
&& d.getHours() == 12 && d.getMinutes() == 0) {
postMessage(d.toLocaleString());
}
if (d.getMonth() != oldMonth) {