VIKINGVyksa
@VIKINGVyksa
front-end developer

Worker через Blob, не работает как надо?

Запускаю вот такой вот код
if(!!window.Worker){
			if(!!window.Blob){
				var bb = new Blob(["self.addEventListener('message',function(e){self.postMessage(e.data);},false);"]);

				var blobURL = window.URL.createObjectURL(bb);
				console.log(blobURL);

				var worker = new Worker(blobURL[0]);
				console.log(worker);

				worker.addEventListener('message',function(e){
					console.log("worker message : "+e.data);
				},false);

				worker.postMessage('Hello, worker!'); // Start the worker.
			}else{
				// fallback
			}
		}else{
			// fallback
		}

Ошибок нету, всё выводит,но не работает как надо)) По идее должен вывести worker message : Hello, worker!
Скорей свего где-то косяк,но сейчас я его не вижу)
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
@Panya
У вас ошибка в строке:
var worker = new Worker(blobURL[0]);
вы передаете только первый символ урла блоба. А надо передавать весь урл. То есть писать так:
var worker = new Worker(blobURL);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Так воркер может быть только внешним файлом. Тут эмуляция не поможет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 06:09
30000 руб./за проект
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект