2017-08-17 12 views
-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ワーカーが黙って失敗しているのです。助けてください。

+0

あなたはデベロッパーツールを使用してコードを検査しようとしたことがありますか? –

+0

100%CORSの問題です。 '

-1

まあ、私はそれを自分自身を修正しました。私はCodePenで新しいプロジェクトを開始し、そこでコードを実行しました。私はWebワーカーが実行するためのキーとなる要件は、ローカルではなくオンラインで実行することだと思います。

+0

ローカルではなくhttp(ローカルサーバー)経由で実行できます。 file://を使って実行すると、動作しません(Rexの記述としてクロスオリジンとみなされます)。 – K3N

0

100%CORSの問題です。 <script>タグの通常のスクリプトと同じ方法でWebワーカーを読み込むことはできません。リモートサーバがエイリアンのホストからajax経由でファイルを読み込むことができる場合に限る。理由は分かりませんが、それはそうです。この回避策を参照してください。

https://stackoverflow.com/a/33432215/607407

関連する問題