Ответ 1
http://crbug.com/357664 - это сообщение об ошибке, не позволяющее загружать сценарии расширения в качестве веб-рабочего.
Обходной путь к этой проблеме - загрузить рабочий script с помощью XMLHttpRequest, затем загрузить рабочего из строки. Когда я столкнулся с этой проблемой в прошлом, я создал оболочку, которая прозрачно изменяет конструктор Worker
, поэтому вы можете без проблем использовать new Worker(chrome.runtime.getURL('worker.js'))
.
См. patch-worker.js
(документация) для реализации предыдущей идеи.
patch-worker.js
имеет некоторые ограничения (например, importScripts
работает не так, как ожидалось), в основном связанный с тем, что он не запускается в chrome-extension:
-origin. Чтобы решить эти проблемы, я создал другую библиотеку, которая использует iframe для создания Рабочего. См. worker_proxy
для исходного кода и документации.