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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№117-08-2016 15:57:28

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Как задать путь к файлу

Добрый день. Прошу помощи у форумчан. Необходимо решить задачу, по изменению путей к файлам в портабельной версии Firefox. Итак , у меня изменён стиль FF посредством Stylish и Userchrom. Изменены цвета , фоны , кнопки и тд. Встала необходимость переноса FF на флешку и естественно появилась проблема с путями . Сейчас пути к файлам выглядят так "url("file:///D:/Firefox/Folder/K333.jpg". Как прописать пути к файлам , чтобы пути к изображениям были постоянными и не зависли от буквы флешки  присвоенной системой, при работе с  флешки на разных с компьютерах. Вариант с url(имя.тип) в папке chrome не работает. Изображения достаточно большие (фоны) и переводу в base64 нежелательны. Заранее спасибо.

Отредактировано Duche (17-08-2016 16:17:16)

Отсутствует

 

№217-08-2016 16:40:12

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Как задать путь к файлу

Для userContent/userChrome: https://forum.mozilla-russia.org/viewto … 68#p682968
В Stylish - только конвертировать в base64.

Отсутствует

 

№317-08-2016 18:25:20

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

Не могу подцепить из юзерХром вот такой код, в Stylish работает.

Выделить код

Код:

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url(https://www.мойсайт.ru/) {
  body, html {background: url("gothamgard.jpg") !important;   background-color: inherit !importan} 
}

Отсутствует

 

№417-08-2016 19:29:37

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Как задать путь к файлу

Duche пишет

из юзерХром

Может, потому что коды для сайтов нужно в userContent.css класть? :rolleyes:

Отсутствует

 

№517-08-2016 19:57:36

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

turbot пишет

userContent.css класть

Поклал ,сработало. И маленький вопрос для самообразования. Существует ли ограничение по размеру конвертируемого в Base64 файла.

Примите искреннюю благодарность за Вашу работу.

Отредактировано Duche (17-08-2016 19:58:26)

Отсутствует

 

№617-08-2016 20:04:57

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Как задать путь к файлу

Существует ли ограничение по размеру конвертируемого в Base64 файла.

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

Отсутствует

 

№717-08-2016 20:07:55

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

turbot пишет

Стоит избегать конвертирования файлов больше одного-двух мегабайтов.

Понял. Спасибо.

Отсутствует

 

№817-08-2016 21:33:16

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 45.0

Re: Как задать путь к файлу

turbot пишет

В Stylish - только конвертировать в base64.

Я бы добавил в конфигурационный файл код, и заменил бы file:///D: на resource://root

скрытый текст

Выделить код

Код:

//
(({utils: Cu, interfaces: Ci}) => { try {

    var {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
    var file = Services.dirsvc.get("GreD", Ci.nsIFile);
    while(file.parent) file = file.parent;

    Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler)
        .setSubstitution("root", Services.io.newFileURI(file));

} catch(ex) {}})(Components);

Отредактировано Dumby (17-08-2016 21:34:20)

Отсутствует

 

№917-08-2016 21:41:39

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Как задать путь к файлу

Dumby
Полезно. Спасибо. :beer:

Отсутствует

 

№1018-08-2016 09:10:16

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

turbot пишет

Я бы добавил в конфигурационный файл код, и заменил бы file:///D: на resource://root

Я правильно  понял, что код от Dumby надо добавить в userContent.css , а путь  "url("file:///D:/Firefox/Folder/K333.jpg", переписать на  "url("resource://root:/Firefox/Folder/K333.jpg".
Два вопроса . Надо ли добавить закрывающую скобку в коде Dumby , после " catch(ex) {}})(Components);  и для чего такое дополнение надо.

Отсутствует

 

№1118-08-2016 12:52:20

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 45.0

Re: Как задать путь к файлу

Duche пишет

Я правильно  понял

Нет, не правильно. Вот смотри, добавь код в инициализацию
какой-нибудь Custom Buttons кнопки, скопируй K333.jpg в папку chrome,
затем открой адрес resource://chrome/K333.jpg

скрытый текст

Выделить код

Код:

(({io, dirsvc, prefs}) => {

    var substitution = "chrome", dir = "UChrm";

    var rph = io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
    addDestructor(reason => reason[5] == "e" && rph.hasSubstitution(substitution) && rph.setSubstitution(substitution, null));
    if (rph.hasSubstitution(substitution)) return;

    rph.setSubstitution(substitution, io.newFileURI(dirsvc.get(dir, Ci.nsIFile)));
    if (!prefs.getBoolPref("extensions.stylish.styleRegistrationEnabled")) return;
    stylishOverlay.turnOnOff(false); stylishOverlay.turnOnOff(true);

})(Services);

Отредактировано Dumby (19-08-2016 00:20:34)

Отсутствует

 

№1218-08-2016 13:42:27

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

Dumby пишет

Нет, не правильно. Вот смотри

Работает , картинка открывается из chrome . А каково отличие вашего способа с кодом и resource://chrome, от способа , положить K333.jpg в папку chrome, и указать путь {background: url("K333.jpg") , тоже срабатывает или есть тонкости?

Отсутствует

 

№1318-08-2016 16:46:21

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 45.0

Re: Как задать путь к файлу

Duche
У меня так.

Отсутствует

 

№1418-08-2016 17:01:34

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

Dumby пишет

У меня так.

Что должно получится понятно и работает . А в чем + или - вашего способа . Или это просто , два способа достижения одной цели.

Отсутствует

 

№1518-08-2016 17:34:10

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 45.0

Re: Как задать путь к файлу

Duche
Да нету никакого моего способа.
Просто turbot сказал — как отрезал

В Stylish - только конвертировать в base64.

вот я и встрял. :)

Отсутствует

 

№1618-08-2016 17:55:18

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

Dumby пишет

вот я и встрял

Понятно. Спасибо за помощь и разъяснения.
Вопрос не по теме, что бы не плодить темы. Есть возможность такое сделать с путями сохранения файлов при скачивании , потом прописать их в about:config . У меня пути D:\Папка для скачивания , хочется что бы пути были постоянными и не зависли от буквы флешки , присвоенной системой, при работе с  флешки на разных с компьютерах.

Отсутствует

 

№1719-08-2016 00:21:03

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 45.0

Re: Как задать путь к файлу

Duche
Можно переписать первую букву настройки.

скрытый текст

Выделить код

Код:

((pref, disk, dir) =>
    //Date.now() - Services.startup.getStartupInfo().firstPaint < 500 &&
    //!Services.startup.wasRestarted &&
    (dir = Preferences.get(pref)) && dir[0] != disk &&
    Preferences.set(pref, disk + dir.slice(1))
)("browser.download.dir", OS.Constants.Path.libDir[0]);

Отсутствует

 

№1819-08-2016 07:04:55

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

Dumby пишет

Можно переписать первую букву настройки.

Переписать на что и где?

Отредактировано Duche (24-08-2016 16:21:14)

Отсутствует

 

№1924-08-2016 16:20:53

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

Duche пишет

Переписать на что и где?

Dumby, turbot. A-уууууууууу. Где Вы ,братья по разуму. Осталось чуть доделать.

Отсутствует

 

№2024-08-2016 16:47:57

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Как задать путь к файлу

Просто положите код Dumby либо в конфигурационный файл (не забывайте про обязательность наличия закоментированной первой строки), либо в инициализацию Custom Buttons кнопки.

Отсутствует

 

№2124-08-2016 17:35:42

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

turbot пишет

Просто положите код

Dumby пишет

Duche
Можно переписать первую букву настройки.

Повторюсь "Переписать на что и где?"

Код положил давно,но не получается намертво привязать свои пути "D или H,G итд :\Папка для скачивания" к всем скачиваемым Firefof файлам,  что бы пути были постоянными и не зависли от буквы флешки , присвоенной системой, при работе с  флешки на разных с компьютерах.

Отсутствует

 

№2224-08-2016 17:47:28

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Как задать путь к файлу

Duche
Код автоматически, при инициализации, если буква диска в параметре about:config'а browser.download.dir не совпадает с той, с которой запущен браузер, меняет ее.

Отсутствует

 

№2324-08-2016 18:08:57

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

turbot пишет

Код автоматически, при инициализации, если буква диска в параметре about:config'а browser.download.dir не совпадает с той, с которой запущен браузер, меняет ее.

Спасибо за разъяснение. Я правильно понял , если в коде изменить "browser.download.dir" на "extensions.downloadbar.audioplayerpath" , то таким образом можно прописать пути к звукам при завершении загрузки. Если я прав, то необходимо  создать два кода с разными строками "browser.download.dir"и "extensions.downloadbar.audioplayerpath" или две строки через запятую, в одном коде.

Отсутствует

 

№2424-08-2016 18:25:52

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Как задать путь к файлу

Duche
Можно так:

Выделить код

Код:

((prefs, disk, dir) => 
 prefs.forEach(pref => (dir = Preferences.get(pref)) && dir[0] != disk
               && Preferences.set(pref, disk + dir.slice(1)))
)(["browser.download.dir", "extensions.downloadbar.audioplayerpath"], OS.Constants.Path.libDir[0])

В ["browser.download.dir", "extensions.downloadbar.audioplayerpath"] - можете и другие параметры дописывать, по образцу.

Отсутствует

 

№2524-08-2016 19:13:27

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Как задать путь к файлу

turbot пишет

Можно так:

turbot.  Примите искреннюю благодарность за Вашу работу и разъяснения. Буду пробывать.

Отредактировано Duche (24-08-2016 20:08:07)

Отсутствует

 

Board footer

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