Сблъсках се с интересен проблем, докато създавах хостван API, който разчита на уеб работници. Надявах се да получа малко обратна връзка от общността за това.
Моят сървър е настроен с подходящите CORS хедъри за доставяне на работните JS файлове и може да бъде извлечен с XMLHttpRequest
обект. Въпреки това, когато URL адресът е даден на new Worker()
, той не успява да се изгради, позовавайки се на произхода като проблем. Това изглежда е проблем както за Firefox, така и за Chrome. Проверете го сами и моето решение тук: http://jsfiddle.net/5ag42hb1/11/
Това не е ли странно поведение? В документите на Mozilla се казва, че уеб работниците трябва да се подчиняват на политиката за същия произход и да използвате CORS, за да разрешите достъп от друг произход.
Цигулката има заобиколно решение за съхраняване на файла в петно и вместо това го предава на работника. Изглежда обаче по-малко от идеално, въвеждайки много ненужна сложност. Може ли някой да измисли по-чисто решение? Има ли добър канал, за да се приложи това правилно?