>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Как задать путь к файлу через url(chrome:// … http://forum.mozilla-russia.org/viewtopic.php?id=54368 |
EgorSokolov > 29-03-2012 12:23:25 |
Вот тут написано, как добавлять иконки в контекстное меню FireFox. Там надо указать путь к картинке в виде url(image_url), но только я не пойму, как сопоставить этот путь с локальными файлами на диске. Вот, например, видел такие пути: url(data:image/png;base64 … Но ГДЕ это находится реально на диске??? Или, если поставить вопрос с другой стороны. Как мне через этот дурацкий "chrome://" сослаться на картинки: И вообще, как прописать в url(image_url) путь к локальному файлу? Просто тупая подстановка адреса в стиле Windows (типа C:\SomeDIR\SomeFile.png) ничего не даёт … |
banbot > 29-03-2012 12:30:26 |
Тема перенесена из форума «Firefox» в форум «Разработка». |
hydrolizer > 29-03-2012 14:27:23 |
EgorSokolov пишет
data:image/png;base64 - вообще нигде, это строковое представление двоичных данных - т.н. base64 string. EgorSokolov пишет
Никак. Чтобы chrome URI были валидными, в системе (в FF) должен быть зарегистрирован соответствующий адресуемым ресурсам chrome package; для регистрации нужен манифест - chrome.manifest. С помощью chrome URI адресуются внутренние ресурсы браузера и расширений, внешние произвольные файлы таким образом адресованы быть не могут. EgorSokolov пишет
Вот так: file:///С:/SomeDIR/SomeFile.png |
Kamui > 29-03-2012 18:18:26 |
hydrolizer |
hydrolizer > 29-03-2012 19:38:40 |
Kamui |
Infocatcher > 29-03-2012 20:34:23 |
Вообще, есть https://developer.mozilla.org/en/JavaSc … ng_aliases, только реальная необходимость в таких фокусах бывает довольно редко. |
Kamui > 29-03-2012 22:12:40 |
hydrolizer пишет
Тьфу ты блин, перепутал там же если положить файл в папку chrome, то можно просто указывать его имя? Т.е. как-то так: url(имя.тип)? |
Infocatcher > 30-03-2012 00:05:33 |
Kamui пишет
Это же легко проверяется. Можно любые относительные пути. |
Kamui > 30-03-2012 00:10:36 |
Infocatcher пишет
Я как-то не зморачивался насчет локальных файлов, всегда в стилях делал в base64:) |
hydrolizer > 30-03-2012 06:22:39 |
Infocatcher пишет
Интересная штука.. но я как-то затрудняюсь представить, когда она может понадобиться - если код по определению алиаса отрабатывает в расширении, то у этого расширения уже есть зарегистрированный chrome (и возможность зарегистрировать свой resource URI), через который можно адресовать ресурсы. Если не в расширении - из консоли, например - то этот код надо выполнять в каждой сессии FF. |
seleko > 30-03-2012 12:35:49 |
Я делал так: #personal-bookmarks toolbarbutton[label="openSUSE"] |
Tiger.711 > 30-03-2012 13:09:12 |
seleko пишет
Жестоко >__> |
Infocatcher > 30-03-2012 22:25:03 |
hydrolizer пишет
В Custom Buttons используется. |
tenshi > 06-04-2012 20:21:30 |
hydrolizer пишет
в некоторых случаях код исполняется ещё до регистрации ресурсов. случаи эти точно не назову и актуально ли это для современных версий лиса, но иметь ввиду стоит. |