Страницы: 1
Вот тут написано, как добавлять иконки в контекстное меню FireFox. Там надо указать путь к картинке в виде url(image_url), но только я не пойму, как сопоставить этот путь с локальными файлами на диске. Вот, например, видел такие пути:
url(data:image/png;base64 …
url("chrome://global/skin/icons/…")
url("chrome://global/content/bindings/…")
Но ГДЕ это находится реально на диске???
Или, если поставить вопрос с другой стороны. Как мне через этот дурацкий "chrome://" сослаться на картинки:
Папка_Профиля\icons\default\SomeImage.png
C:\Program Files\Папка_FireFox\My_Icons\SomeImage.png
И вообще, как прописать в url(image_url) путь к локальному файлу? Просто тупая подстановка адреса в стиле Windows (типа C:\SomeDIR\SomeFile.png) ничего не даёт …
Отредактировано Shutnik (02-04-2012 10:44:41)
Отсутствует
Тема перенесена из форума «Firefox» в форум «Разработка».
Do you feel lucky, punk?
Отсутствует
Вот, например, видел такие пути:
url(data:image/png;base64 …
url("chrome://global/skin/icons/…")
url("chrome://global/content/bindings/…")
data:image/png;base64 - вообще нигде, это строковое представление двоичных данных - т.н. base64 string.
chrome - в общем случае и как отдельный объект файловой системы - тоже нигде: физически файл может находиться внутри zip-архива (и так чаще всего и бывает), chrome URI указывает на этот файл внутри архива.
Или, если поставить вопрос с другой стороны. Как мне через этот дурацкий "chrome://" сослаться на картинки:
Папка_Профиля\icons\default\SomeImage.png
C:\Program Files\Папка_FireFox\My_Icons\SomeImage.png
Никак. Чтобы chrome URI были валидными, в системе (в FF) должен быть зарегистрирован соответствующий адресуемым ресурсам chrome package; для регистрации нужен манифест - chrome.manifest. С помощью chrome URI адресуются внутренние ресурсы браузера и расширений, внешние произвольные файлы таким образом адресованы быть не могут.
И вообще, как прописать в url(image_url) путь к локальному файлу? Просто тупая подстановка адреса в стиле Windows (типа C:\SomeDIR\SomeFile.png) ничего не даёт
Вот так: file:///С:/SomeDIR/SomeFile.png
Отсутствует
Kamui
Нет. Папка chrome и протокол chrome не соотносятся. Но даже если бы и работало - это не есть общий случай произвольного файла.
Отсутствует
Вообще, есть https://developer.mozilla.org/en/JavaSc … ng_aliases, только реальная необходимость в таких фокусах бывает довольно редко.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Нет. Папка chrome и протокол chrome не соотносятся. Но даже если бы и работало - это не есть общий случай произвольного файла.
Тьфу ты блин, перепутал там же если положить файл в папку chrome, то можно просто указывать его имя? Т.е. как-то так: url(имя.тип)?
Отсутствует
там же если положить файл в папку chrome, то можно просто указывать его имя? Т.е. как-то так: url(имя.тип)?
Это же легко проверяется. Можно любые относительные пути.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Это же легко проверяется. Можно любые относительные пути.
Я как-то не зморачивался насчет локальных файлов, всегда в стилях делал в base64:)
Отсутствует
только реальная необходимость в таких фокусах бывает довольно редко
Интересная штука.. но я как-то затрудняюсь представить, когда она может понадобиться - если код по определению алиаса отрабатывает в расширении, то у этого расширения уже есть зарегистрированный chrome (и возможность зарегистрировать свой resource URI), через который можно адресовать ресурсы. Если не в расширении - из консоли, например - то этот код надо выполнять в каждой сессии FF.
Отредактировано hydrolizer (30-03-2012 06:24:39)
Отсутствует
Я делал так:
клал в профайл диру chrome
и писал такоэ в userChrome.css
#personal-bookmarks toolbarbutton[label="openSUSE"]
{
list-style-image: url("suse-green.ico") !important;
padding: 0px !important;
}
Отсутствует
но я как-то затрудняюсь представить, когда она может понадобиться
В Custom Buttons используется.
Вроде бы, чтобы оверлей с кнопками не кэшировался.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher пишеттолько реальная необходимость в таких фокусах бывает довольно редко
Интересная штука.. но я как-то затрудняюсь представить, когда она может понадобиться - если код по определению алиаса отрабатывает в расширении, то у этого расширения уже есть зарегистрированный chrome (и возможность зарегистрировать свой resource URI), через который можно адресовать ресурсы. Если не в расширении - из консоли, например - то этот код надо выполнять в каждой сессии FF.
в некоторых случаях код исполняется ещё до регистрации ресурсов. случаи эти точно не назову и актуально ли это для современных версий лиса, но иметь ввиду стоит.
Отсутствует
Страницы: 1