Скачайте и откройте Firefox

Я новый пользователь системы плагинов Firefox. Я хотел создать плагин, который будет загружать несколько файлов в очередь, а затем открывать их для практики.

У меня вопрос, есть ли способ загрузить файл из Интернета в плагине. Я знаю о существовании os.file (хотя мне непросто понять, как использовать его из приведенных примеров). Далее я хотел бы знать, есть ли способ выполнить файл, используя для него программу по умолчанию.

1 ответ

Начиная с Firefox 26, в дополнительном SDK, расширениях restartless/bootstrap или overlay на основе наиболее подходящим способом загрузки файла из дополнения является использование модуля кода JavaScript Downloads.jsm.

Примерзагрузки в локальный файл со страницы MDN Downloads.jsm:

Components.utils.import("resource://gre/modules/Downloads.jsm");
Components.utils.import("resource://gre/modules/osfile.jsm")
Components.utils.import("resource://gre/modules/Task.jsm");

Task.spawn(function () {
  yield Downloads.fetch("http://www.mozilla.org/",
                        OS.Path.join(OS.Constants.Path.tmpDir,
                                     "example-download.html"));
  console.log("example-download.html has been downloaded.");
}).then(null, Components.utils.reportError);

Если вы хотите начать загрузку в точности так, как если бы пользователь ее инициировал, вы должны увидеть мой ответ на Как запустить нормальную загрузку из аддона.