Ich versuche, das Verhalten von Web Workers zu erarbeiten, und ich bin ein wenig ratlos, warum die Ausgabe nur zeigt und behält die Nachricht, wenn die Funktion dem window.onload -Ereignis zugeordnet ist und auch Warum zeigt das Hinzufügen eines Alerts() am Ende der Funktion vorübergehend die Nachricht an, bevor Sie auf "OK" klicken und die Nachricht verschwindet.Web Worker arbeitet nicht mit onclick
Schätzen Sie jede Hilfe, danke.
<form>
<button id="button" style="height:30px;">Say hello</button>
<input id="output" style="width:200px"></input>
</form>
<script>
var button = document.getElementById("button");
button.onclick = function(){
var worker = new Worker("worker.js");
worker.postMessage("hello");
worker.onmessage = function(event){
var message = event.data;
var output = document.getElementById("output");
output.value = "Worker says " + message;
}
//alert("Message shows when this alert is here, but as "
// + "soon as you click ok...");
}
</script>
worker.js
onmessage = function(){
postMessage("Well hello to you too.");
}
Funktioniert der Worker, wenn Sie 'type =" button "' zum '
senden Sie die Nachricht, nachdem Sie abonnieren; Ich denke, der Mut des Arbeiters ist sehr schnell an diesem Punkt ... – dandavis
Ja, tippe = Taste hat es behoben, warum ist das? Auch dandavis sagst du, ich lege die worker.postMessage nach worker.onmessage oder macht das nicht viel Unterschied? Vielen Dank für die Korrektur, weitere Informationen zu diesem Verhalten werden sehr geschätzt. –