Мне надо указать относительный путь к картинке находящейся в папке моего профиля. Есть ли такая возможность?
Для внутренних ресурсов есть относительный путь list-style-image: url("chrome://browser/skin/...") для папки chrome есть "jar:resource:///" есть ли для профиля?
Data:URI не подходит.

Тема перенесена из форума «Поддержка пользователей» в форум «Разработка».

С помощью метода setSubstitution обработчика протокола можно создать resource:// ссылку на произвольный каталог.

После выполнения такого кода:

Выделить код

Код:

var ios = Components. classes ["@mozilla.org/network/io-service;1"]. getService (Components. interfaces. nsIIOService);
var rph = ios. getProtocolHandler ("resource"). QueryInterface (Components. interfaces. nsIResProtocolHandler);
var dir = Components. classes ["@mozilla.org/file/directory_service;1"]. getService (Components. interfaces. nsIProperties). get ("ProfD", Components. interfaces. nsIFile);
var uri = ios. newFileURI (dir);
rph. setSubstitution ("profile", uri);

папка профиля будет доступна по ссылке resource://profile/

Локальные файлы на панели. Локальные пути. Как?
http://forum.mozilla-russia.org/viewtopic.php?id=36798

Anton Интересно. А где браузер хранит информацию о "resource://"? Если мне надо будет почистить пути.

А где браузер хранит информацию о "resource://"? Если мне надо будет почистить пути.

Результат вызова setSubstitution действителен в пределах текущей сессии. А в пределах сессии можно изменить указатель повторным вызовом setSubstitution.
Например, после

Выделить код

Код:

rph. setSubstitution ("profile", null);

(для приведенного выше кода) папка профиля станет недоступной через resource://profile/