-1
私は非常に基本的なウェブワーカーを書いていますが、動作していません。どんな助けもありがとう。ありがとう。Webワーカーが動作していません
ここに私のHTMLコードがあります:
<!DOCTYPE html>
<html>
<head>
<title>Basic Demo of Web Workers</title>
</head>
<body>
<button type="button" onclick="start()">Start!</button>
<button type="button" onclick="stop()">Stop!</button>
<output id="counterShow"></output>
</body>
<script>
var myWorker;
function start() {
if(window.Worker) {
myWorker = new Worker("http://yourjavascript.com/8257018521/basic-demo.js");
myWorker.onmessage = function(event) {
document.getElementById('counterShow').innerHTML = event.data;
};
myWorker.onerror = function(event) {
alert(event.message, event);
}
} else {
document.getElementsByTagName('BODY')[0].innerHTML = 'Sorry! Web workers are not supported.';
}
}
function stop() {
myWorker.terminate();
}
</script>
ここCDN上でホストされているJSファイル(yourjavascript.com)
for(var i=0; i<100000; i++) {
postMessage(i);
}
は、Webワーカーが黙って失敗しているのです。助けてください。
あなたはデベロッパーツールを使用してコードを検査しようとしたことがありますか? –
100%CORSの問題です。 '
まあ、私はそれを自分自身を修正しました。私はCodePenで新しいプロジェクトを開始し、そこでコードを実行しました。私はWebワーカーが実行するためのキーとなる要件は、ローカルではなくオンラインで実行することだと思います。
出典
2017-08-18 06:51:55 shahzaibkhalid
ローカルではなくhttp(ローカルサーバー)経由で実行できます。 file://を使って実行すると、動作しません(Rexの記述としてクロスオリジンとみなされます)。 – K3N
100%CORSの問題です。
<script>
タグの通常のスクリプトと同じ方法でWebワーカーを読み込むことはできません。リモートサーバがエイリアンのホストからajax経由でファイルを読み込むことができる場合に限る。理由は分かりませんが、それはそうです。この回避策を参照してください。https://stackoverflow.com/a/33432215/607407
出典
2017-08-18 07:55:41