Как можно открыть локальные файлы из рабочего потока в расширении Firefox? - PullRequest
0 голосов
/ 30 декабря 2011

Я пытаюсь переместить довольно медленную функцию из основного потока, но код, который я перемещаю, зависит от модуля, который я написал с использованием объекта Components. Насколько я понимаю, компоненты запрещены из-за отсутствия безопасности потоков.

Я потратил время на сортировку документации по MDN, и моя голова плывет; Похоже, у Firefox есть дюжина различных способов открытия файлов, и они по-разному принимают URI, собственные пути или любое количество несовместимых объектов, созданных из еще более сложных интерфейсов, в глубине браузера, и я не могу сказать, как они взаимодействуют. или что станет подходящим для этого. Чем больше я читаю, тем меньше я знаю, что делаю. Я предполагаю, что реальный ответ прост, и я прошу прощения за ложную ложь, но:

A) Можно ли открыть (локальный) файл из рабочего потока?

B) Могу ли я иметь пример этого?

C) ... предпочтительно пример использования URI вместо собственного пути?

D) ... желательно без создания и передачи каких-либо объектов извне работника?

Я приветствую традицию Perl while(<>) {}, и у Firefox, похоже, самая избыточная / тупая / ужасающая система (и) файлового ввода / вывода, которую я когда-либо видел.

1 Ответ

0 голосов
/ 30 декабря 2011

Самый простой способ прочитать целые файлы - это использовать XMLHttpRequest.Однако, если вам нужна только часть файла, вы можете использовать File API.Смотри https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers

...