2012-09-14 2 views
14

http://localhost/js/fooWorker.jsからWebワーカーを起動する必要があるhttp://localhost/js/foo.jsにスクリプトがあります。JavaScriptが現在のスクリプトと比較してワーカーのパスを解決していません

var worker = new Worker('fooWorker.js') 

ブラウザはhttp://localhost/fooWorker.jsを見つけることができないようしかし、これは、404エラーになります:私はちょうどこのような何かを行うことができます仮定しました。私は、ワーカーのパスがワーカーの作成スクリプトに関連して解決されたという印象を受けました。絶対パスを指定することなく、別の.jsファイルの名前を同じディレクトリに指定できないようにしてください。私は何か間違っているのですか? http://www.w3.org/TR/workers/から

+0

なければならない

pathDoc\docA.html js\b.js js\worker\c.js 

を有しますHまでttps://developer.mozilla.org/en-US/docs/DOM/Using_web_workers?redirectlocale = ja-US&redirectslug = Using_web_workers#Spawning_subworkers、これはうまくいくはずです... – ziesemer

+0

@ziesemer:あなたが提供したリンクは、サブワーカーについて語ります。これらはまだ完全にはサポートされていません。 –

答えて

8

ワーカー(scriptURL)コンストラクタが呼び出されると、ユーザーエージェントは 次の手順を実行する必要があります。

  1. エントリスクリプトのベースに対してscriptURL引数を解決 メソッドが呼び出されたときのURL。
3

実際には、例えば

埋め込み文書経路

に対してなければならない私は、コードはよれ

var worker = new Worker('..\js\worker\c.js') 
+0

IISでホストされているASP.Net MVCアプリケーションでこれを試しました。しかし、それは道を解決しませんでした。 [F12ネットワーク]タブには404が表示されます。IISでホストされているサイト –

関連する問題