Как загрузить CSS-файл из каталога профилей (как создать URI из filepath)


Мое расширение сохранило CSS-файл в каталоге профиля пользователя. Теперь я хочу загрузить этот CSS-файл в окно.

Sheetsheet/utils , похоже, имеет loadSheet (window, uri, type) метод для этого (https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs/stylesheet_utils ) но я не могу понять, как преобразовать мой путь к файлу CSS в объект URI, который ожидается.

Мой код выглядит примерно так:

const ssutils   = require("sdk/stylesheet/utils"),
      windows   = require("sdk/windows");

var path_to_file = "c:usersmynameappdatalocaltemptmppr9imy.mozrunnermyextensionmycssfile.css"

for (let wind of windows.browserWindows) {
    // What is the magic function I need to use?
    ssutils.loadSheet(wind, someMagicFunctionHere(path_to_file), "user");
}
1 2

1 ответ:

Модуль sdk/url prvcides функцию, которую вы спрашиваете.

const { fromFilename } = require("sdk/url");

...

ssutils.loadSheet(wind, fromFilename(path_to_file), "user");

fromFilename преобразует путь в file: URI