2012-09-14 17 views
14

Mam skrypt pod adresem http://localhost/js/foo.js, który musi odrodzić pracownika WWW z pliku http://localhost/js/fooWorker.js. Przypuszczałem, może po prostu zrobić coś takiego:JavaScript nie rozwiązuje ścieżki pracownika względem bieżącego skryptu

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

Jednak to powoduje błąd 404, gdy przeglądarka nie może znaleźć http://localhost/fooWorker.js. Miałem wrażenie, że ścieżki robocze zostały rozwiązane względem skryptu spawającego pracownika, więc czy nie powinienem móc podać nazwy innego pliku .js w tym samym katalogu bez podawania bezwzględnej ścieżki? czy robię coś źle?

+0

Według do h ttps: //developer.mozilla.org/en-US/docs/DOM/Using_web_workers? redirectlocale = en-US i redirectslug = Using_web_workers # Spawning_subworkers, powinno to zadziałać ... – ziesemer

+0

@ziesemer: Podany link mówi o pod-pracownikach. Nie są jeszcze w pełni obsługiwane. –

Odpowiedz

8

Od http://www.w3.org/TR/workers/:

Kiedy (scriptURL) konstruktor Pracownik jest wywoływany, aplikacja kliencka musi wykonać następujące kroki:

  1. rozwiązać argument względem scriptURL na bazie skryptu wpisu, URL, gdy metoda jest wywoływana.
3

Właściwie powinno być w stosunku do wbudowanego ścieżki dokumentu

Na przykład

mam

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

następnie kod powinien być

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

Próbowałem tego w hostowanej aplikacji IIS ASP.Net MVC. Ale to nie rozwiązało ścieżki. Na karcie sieciowej F12 pokazuje 404. Dowolny pomysł na hostowane witryny IIS –

Powiązane problemy