Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№129-03-2012 12:23:25

EgorSokolov
Участник
 
Группа: Members
Зарегистрирован: 30-12-2006
Сообщений: 123
UA: Firefox 4.0

Как задать путь к файлу через url(chrome:// …

Вот тут написано, как добавлять иконки в контекстное меню 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)

Отсутствует

 

№229-03-2012 12:30:26

banbot
Moderator
 
Группа: Moderators
Зарегистрирован: 23-12-2007
Сообщений: 5283

Re: Как задать путь к файлу через url(chrome:// …

Тема перенесена из форума «Firefox» в форум «Разработка».


Do you feel lucky, punk?

Отсутствует

 

№329-03-2012 14:27:23

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 12.0

Re: Как задать путь к файлу через url(chrome:// …

EgorSokolov пишет

Вот, например, видел такие пути:

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 указывает на этот файл внутри архива.

EgorSokolov пишет

Или, если поставить вопрос с другой стороны. Как мне через этот дурацкий "chrome://" сослаться на картинки:
Папка_Профиля\icons\default\SomeImage.png
C:\Program Files\Папка_FireFox\My_Icons\SomeImage.png

Никак. Чтобы chrome URI были валидными, в системе (в FF) должен быть зарегистрирован соответствующий адресуемым ресурсам chrome package; для регистрации нужен манифест - chrome.manifest. С помощью chrome URI адресуются внутренние ресурсы браузера и расширений, внешние произвольные файлы таким образом адресованы быть не могут.

EgorSokolov пишет

И вообще, как прописать в url(image_url) путь к локальному файлу? Просто тупая подстановка адреса в стиле Windows (типа C:\SomeDIR\SomeFile.png) ничего не даёт

Вот так: file:///С:/SomeDIR/SomeFile.png

Отсутствует

 

№429-03-2012 18:18:26

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 12.0

Re: Как задать путь к файлу через url(chrome:// …

hydrolizer
А разве не будет работать, если положить файл в папку chrome профиля и прописать ссылку url(chrome://имя.тип)?

Отсутствует

 

№529-03-2012 19:38:40

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 12.0

Re: Как задать путь к файлу через url(chrome:// …

Kamui
Нет. Папка chrome и протокол chrome не соотносятся. Но даже если бы и работало - это не есть общий случай произвольного файла.

Отсутствует

 

№629-03-2012 20:34:23

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 11.0

Re: Как задать путь к файлу через url(chrome:// …

Вообще, есть https://developer.mozilla.org/en/JavaSc … ng_aliases, только реальная необходимость в таких фокусах бывает довольно редко.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№729-03-2012 22:12:40

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Aurora 13.0

Re: Как задать путь к файлу через url(chrome:// …

hydrolizer пишет

Нет. Папка chrome и протокол chrome не соотносятся. Но даже если бы и работало - это не есть общий случай произвольного файла.

Тьфу ты блин, перепутал:) там же если положить файл в папку chrome, то можно просто указывать его имя? Т.е. как-то так: url(имя.тип)?

Отсутствует

 

№830-03-2012 00:05:33

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 11.0

Re: Как задать путь к файлу через url(chrome:// …

Kamui пишет

там же если положить файл в папку chrome, то можно просто указывать его имя? Т.е. как-то так: url(имя.тип)?

Это же легко проверяется. :) Можно любые относительные пути.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№930-03-2012 00:10:36

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Aurora 13.0

Re: Как задать путь к файлу через url(chrome:// …

Infocatcher пишет

Это же легко проверяется. :) Можно любые относительные пути.

Я как-то не зморачивался насчет локальных файлов, всегда в стилях делал в base64:)

Отсутствует

 

№1030-03-2012 06:22:39

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 12.0

Re: Как задать путь к файлу через url(chrome:// …

Infocatcher пишет

только реальная необходимость в таких фокусах бывает довольно редко

Интересная штука.. но я как-то затрудняюсь представить, когда она может понадобиться - если код по определению алиаса отрабатывает в расширении, то у этого расширения уже есть зарегистрированный chrome (и возможность зарегистрировать свой resource URI), через который можно адресовать ресурсы. Если не в расширении - из консоли, например - то этот код надо выполнять в каждой сессии FF.

Отредактировано hydrolizer (30-03-2012 06:24:39)

Отсутствует

 

№1130-03-2012 12:35:49

seleko
Участник
 
Группа: Members
Зарегистрирован: 06-05-2009
Сообщений: 145
UA: Aurora 13.0

Re: Как задать путь к файлу через url(chrome:// …

Я делал так:
клал в профайл диру chrome
и писал такоэ в userChrome.css

#personal-bookmarks toolbarbutton[label="openSUSE"]
{
list-style-image: url("suse-green.ico") !important;
padding: 0px !important;
}

Отсутствует

 

№1230-03-2012 13:09:12

Tiger.711
‌
 
Группа: Extensions
Откуда: из Лесу
Зарегистрирован: 30-07-2010
Сообщений: 7975
UA: Nightly 14.0

Re: Как задать путь к файлу через url(chrome:// …

seleko пишет

клал в профайл

Жестоко >__>


Большой кот... Пуфыстый... Полосатый... Зубастый (:

Отсутствует

 

№1330-03-2012 22:25:03

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 11.0

Re: Как задать путь к файлу через url(chrome:// …

hydrolizer пишет

но я как-то затрудняюсь представить, когда она может понадобиться

В Custom Buttons используется.
Вроде бы, чтобы оверлей с кнопками не кэшировался.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№1406-04-2012 20:21:30

tenshi
Участник
 
Группа: Members
Зарегистрирован: 30-03-2008
Сообщений: 47
UA: Chrome 19.0

Re: Как задать путь к файлу через url(chrome:// …

hydrolizer пишет
Infocatcher пишет

только реальная необходимость в таких фокусах бывает довольно редко

Интересная штука.. но я как-то затрудняюсь представить, когда она может понадобиться - если код по определению алиаса отрабатывает в расширении, то у этого расширения уже есть зарегистрированный chrome (и возможность зарегистрировать свой resource URI), через который можно адресовать ресурсы. Если не в расширении - из консоли, например - то этот код надо выполнять в каждой сессии FF.

в некоторых случаях код исполняется ещё до регистрации ресурсов. случаи эти точно не назову и актуально ли это для современных версий лиса, но иметь ввиду стоит.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]