Веб-работники и доступ к объекту, прикрепленному к объекту окна

У меня есть приложение ember, которое я создаю так:

window.App = Ember.Application.create({});

Я хочу сделать некоторую фоновую обработку на веб-работнике.

Как я могу получить доступ к объекту окна или некоторому другому глобальному объекту в отдельном веб-рабочем потоке?

 alex08 июн. 2012 г., 10:49
Вы можете использоватьpostMessage() отправить состояние обратно?
 dagda108 июн. 2012 г., 10:54
Я могу, но разве это не передает контекст обратно в основной поток?
 dagda108 июн. 2012 г., 10:58
Я пытаюсь загрузить объект с помощью json и сделать его доступным позже. Я должен поместить данные в локальное хранилище, поскольку попытка обновить хранилище в новом потоке имеет побочные эффекты.
 alex08 июн. 2012 г., 10:57
Да уж. Из того, что я могу извлечь, вы должны делать что-то в новом потоке без непосредственных побочных эффектов в основном потоке.

Ответы на вопрос(1)

Короткий ответ. Вы не можете ".

Веб-работникам доступны только те ресурсы, которые они загружают из файлов JavaScript, используяimportScripts() или что-нибудь, что передается им черезsendmessage().

Однако теперь вы можете передавать им объекты. Они сериализуются и десериализуются в JSON автоматически.

Также нет доступа к локальному хранилищу от Worker.

 dagda108 июн. 2012 г., 11:17
Знаете ли вы, если я вызову importScripts, будет ли объект окна доступен в импортированном сценарии?
 08 июн. 2012 г., 11:18
Вы можете иметьno access to the window Object from a worker.
 dagda108 июн. 2012 г., 11:24
если я вызываю self.postMessage от веб-работника, это возвращает контекст обратно в основной поток пользовательского интерфейса или он все еще находится в рабочем потоке?
 dagda108 июн. 2012 г., 11:20
круто, я могу исключить это тогда.
 08 июн. 2012 г., 11:23
@ dagda1 Попробуйте взглянуть наweb worker tutorial on MDN.

Ваш ответ на вопрос