Ответ 1
Из http://www.w3.org/TR/workers/:
Когда вызывается конструктор WorkStar (scriptURL), пользовательский агент должен выполните следующие шаги:
- Разрешите аргумент scriptURL относительно базы << → script URL, когда метод вызывается.
У меня есть script at http://localhost/js/foo.js
, которому нужно вызвать Web Worker из файла http://localhost/js/fooWorker.js
. Я предположил, что могу просто сделать что-то вроде этого:
var worker = new Worker('fooWorker.js')
Однако это приводит к ошибке 404, поскольку браузер не может найти http://localhost/fooWorker.js
. У меня создалось впечатление, что рабочие пути были разрешены относительно script, порождающего рабочего, поэтому не следует ли мне просто указывать имя другого .js файла в том же каталоге, не указывая абсолютный путь? Я что-то делаю неправильно?
Из http://www.w3.org/TR/workers/:
Когда вызывается конструктор WorkStar (scriptURL), пользовательский агент должен выполните следующие шаги:
- Разрешите аргумент scriptURL относительно базы << → script URL, когда метод вызывается.
Собственно, это должно быть относительно пути вложенного документа
Например,
У меня
pathDoc\docA.html
js\b.js
js\worker\c.js
тогда код должен быть
var worker = new Worker('..\js\worker\c.js')