Als ich versucht habe, mit der Web Workers-Funktion in HTML5 herumzuspielen, funktioniert mein Firefox glücklich, aber chrome beschwert sich:
Uncaught TypeError: Die Methode 'postMessage' von undefined kann nicht aufgerufen werden xstartWorkerworker.html: 7 (anonyme Funktion) worker.html: 1 onclickworker.html: 2
worker.html
%Vor%worker.js
%Vor%Was kann ich tun, damit es in Chrome funktioniert?
Übrigens, als ich das Sample in Ссылка ausprobiert habe und dieses mal funktioniert chrome, aber firefox beklagt das
Fehler: Arbeitskraft ist nicht definiert Quelldatei: Ссылка Zeile: 39
Ich schätze, Sie versuchen, dies auf Ihrem lokalen Rechner auszuführen, nicht auf einem Webserver. Arbeiter sind durch die Richtlinie für gleiche Herkunft eingeschränkt, aber wie auf der verlinkten Wikipedia-Seite angegeben,
Das Verhalten von Prüfungen gleicher Herkunft und ähnlicher Mechanismen ist nicht relevant in einer Reihe von Ecken Fällen klar definiert, wie für Protokolle, die Sie haben keinen eindeutig definierten Hostnamen oder Port, mit dem sie verbunden sind URLs (Datei :, Daten: usw.).
Das Laden einer lokalen Datei, auch mit einer relativen URL, entspricht dem Laden einer Datei mit dem file:
-Protokoll. Ich vermute also, dass Sie versuchen, worker.js
als lokale Datei zu laden - Chrome mag das nicht (aus guten Sicherheitsgründen), obwohl Sie das Problem erzwingen können, indem Sie Chrome wie folgt starten: chrome.exe --allow-file-access-from-files
Alternativ versuchen Sie, Ihr Skript auf einem lokalen oder Remote-Webserver zu senden und zu sehen, ob das das Problem behebt. (Wenn Sie Python installiert haben, können Sie zu dem betreffenden Verzeichnis gehen und python -m SimpleHTTPServer 8000
ausführen, dann gehen Sie zu Ссылка in Ihrem Browser).
Tags und Links javascript html5 google-chrome firefox