Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Mozilla Firefox: стили userChrome.css и скрипты js

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155

Открыть новую тему     Написать ответ в эту тему

gutasiho

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору



В теме обсуждается настройка внешнего вида Firefox с использованием userChrome.css, userContent.css, а так же использование скриптов js (uc.js).

Родственные темы: Mozilla Firefox | Расширения для Firefox
 
Обсуждение на "Форуме Mozilla Россия":
Настройка внешнего вида Firefox в userChrome.css,
UCF - ваши кнопки, темы, дополнения, скрипты…
 
Темы на GitHub:
Aris-t2 CustomCSSforFx | Aris-t2 CustomJSforFx | xiaoxiaoflood/firefox-scripts | Endor8/userChrome.js | Alice0775 userChrome.js  
VitaliyV UCF - UserChromeFiles | MrOtherGuy/firefox-csshacks (known as MOG) | VicDobrov UCF-скрипты


Просьба публикуемые коды заключать в тэг [code][/code] (из выпадающего меню), а коды более 10 строк - в двойной тэг [more][code][/code][/more] Подробное разъяснение.
 
Как подключить скрипты JS:
метод Aris-t2 | метод xiaoxiaoflood | метод Endor8 | метод user_chrome_files (UCF)
Как подключить скрипты JSM, MJS в загрузчик скриптов от Aris-t2 , а если у вас Firefox v117+, то дополнительно...
 
Еще один способ активации, нюансы: скрипты можно поместить в пользовательслую папку, можно не прописывать активацию каждого скрипта отдельно.
 
Куда вписывать код для стиля userChrome.css и userContent.css
1\ Также не забываем про такую строку в user.js / prefs.js (для включения userChrome.css и userContent.css):
Код:
// Turn on userChrome.css and userContent.css support
// Включить поддержку userChrome.css и userContent.css
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);  
либо эту настройку включить через about:config.
2\ v136+: отключить CSP (Content Security Policy - Политика безопасности контента), снижает безопасность!:
Код:
security.browser_xhtml_csp.enabled = false
3\ v139+: если некоторые скрипты JS не работают, можете сделать так, снижает безопасность!:
Код:
security.allow_unsafe_dangerous_privileged_evil_eval = true  

Полезные ссылки
Онлайн-конвертер иконок в\из Base64
Онлайн-редактор иконок SVG
Онлайн-конвертер SVG to Data URI
Мануал по определению CSS-селекторов элементов интерфейса встроенными средствами браузера

Всего записей: 8870 | Зарегистр. 14-09-2020 | Отправлено: 08:34 29-07-2023 | Исправлено: gutasiho, 16:26 26-07-2025
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xrun1 с гугл2 пашет (но меня не интересует такая выдача), а с гугл1 - нет. Работает ли у тебя гугл1 без входа в аккаунт?

Всего записей: 3949 | Зарегистр. 24-10-2002 | Отправлено: 10:48 23-05-2025
xrun1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Death_INN

Цитата:
Работает ли у тебя гугл1 без входа в аккаунт?

Да. Google1 логотипа из шапки
 
Добавлено:
Death_INN
Там новый вариант поиска по картинкам, может так у тебя заработает.

Всего записей: 1003 | Зарегистр. 26-12-2009 | Отправлено: 12:48 23-05-2025
grom17



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Death_INN
Цитата:
background: no-repeat center/16px url("...")
Спасибо воспользуюсь!

Цитата:
Полную актуальную версию отступов дать не могу, т.к. реализовано через label (по названиям пунктов), а не с пропиской селекторов
Кстати, очень хороший вариант. Я попробовал то, что было предложено:

Код:
  menupopup:not(.in-menulist) menuitem:not([checked], [icon], .menuitem-iconic) {
    &[label^="Сохранить"]::before {
      background-image: url("data:image/svg+xml;charset=utf-8,<svg width='16' height='16' xmlns='http://www.w3.org/2000/svg' fill='context-fill' fill-opacity='context-fill-opacity'><path d='M3 1c-1.108 0-2 .892-2 2v10c0 1.108.892 2 2 2h10c1.108 0 2-.892 2-2V5l-4-4H3zm0 1h2v3c0 1.108.892 2 2 2h2c1.108 0 2-.892 2-2V2.414l3 3V13c0 .554-.446 1-1 1v-2c0-1.108-.892-2-2-2H5c-1.108 0-2 .892-2 2v2c-.554 0-1-.446-1-1V3c0-.554.446-1 1-1zm3 0h2v4H7c-.554 0-1-.446-1-1V2zm-1 9h6c.554 0 1 .446 1 1v2H4v-2c0-.554.446-1 1-1z'/></svg>");
      fill: #606E8C;
    }
    &[label="Копировать ссылку"]::before {
      background-image: url("chrome://global/skin/icons/link.svg");
      fill: #606E8C;
    }
  }
 
  toolbarbutton:not(.subviewbutton-iconic, [checked]).subviewbutton {
    &[label="Новая вкладка"]::before {
      background-image: url("chrome://global/skin/icons/plus.svg");
      fill: #606E8C;
    }
    &[label="Настройки"]::before {
      background-image: url("chrome://global/skin/icons/settings.svg");
      fill: #606E8C;
    }
  }

Но пока не разобрался полностью, т.е. добавляя какой-то пункт к меню, он почему-то не появился, но мог появиться в другом месте.
Думаю всё зависит от этого:
menupopup:not(.in-menulist) menuitem:not([checked], [icon], .menuitem-iconic)
toolbarbutton:not(.subviewbutton-iconic, [checked]).subviewbutton
 
P.S. Хочу полностью закрыть тему иконок (хотя понимаю что тема "вечная" в связи с выходом новых версий).

Всего записей: 1633 | Зарегистр. 12-10-2002 | Отправлено: 14:18 23-05-2025
NEW_MAKC



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
пытался убрать субменю вкладки "закрыть несколько вкладок", а всё его содержимое вынести просто в меню через simpleMenuWizard, не получилось - это возможно или нет, или надо как то по другому?

Всего записей: 777 | Зарегистр. 11-12-2004 | Отправлено: 20:28 23-05-2025
Lagris

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NEW_MAKC

Цитата:
пытался убрать субменю вкладки "закрыть несколько вкладок", а всё его содержимое вынести просто в меню через simpleMenuWizard, не получилось - это возможно или нет, или надо как то по другому?

http://forum.ru-board.com/topic.cgi?forum=5&topic=51202&start=1560#10

Всего записей: 1375 | Зарегистр. 26-08-2007 | Отправлено: 20:39 23-05-2025
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
grom17, menu - со стрелкой, menuitem - без стрелки, toolbarbutton - в гамбургере.
139 как зарелизится, то выложу актуальные стили отступов с парой-тройкой примеров по добавлению иконок

Всего записей: 3949 | Зарегистр. 24-10-2002 | Отправлено: 01:29 24-05-2025
grom17



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Death_INN
Цитата:
139 как зарелизится, то выложу актуальные стили отступов с парой-тройкой примеров по добавлению иконок






Нарушение п. 2.10. главы VIII Соглашения по использованию

Всего записей: 1633 | Зарегистр. 12-10-2002 | Отправлено: 03:20 24-05-2025 | Исправлено: Maz, 10:55 25-05-2025
ttettette

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В меню Firefox поменяли "Дополнения и темы" на "Расширения и темы", пробую поменять назад, но получается наслоение - две фразы одна на другой. Подскажите, пожалуйста, где ошибка -  
 

Код:
 
#appMenu-extensions-themes-button > .menu-text {
 visibility: hidden !important;  
 }
 
#appMenu-extensions-themes-button:before {
    content: "Дополнения и темы" !important;
   position: absolute !important;
  -moz-margin-start: 0px !important;  
}
 

Всего записей: 115 | Зарегистр. 07-07-2013 | Отправлено: 17:22 24-05-2025
grom17



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу добавить иконки в меню "Погода", но почему то не фунциклирует.
 
Здесь различные варианты:
--menuitem-image:
  content:
  background-image:
  list-style-image:


Код:
/* Изменить местоположение */
menuitem[data-l10n-id="newtab-weather-menu-change-location"] {
    --menuitem-image: url("chrome://branding/content/icon32.png");
    }
 
/* Переключиться на градусы Фаренгейта */
menuitem[data-l10n-id="newtab-weather-menu-change-temperature-units-fahrenheit"] {
    content: url("chrome://browser/skin/forward.svg");
    }
 
/* Переключиться в простой вид */
menuitem[data-l10n-id="newtab-weather-menu-change-weather-display-simple"] {
    background-image: url("chrome://branding/content/icon32.png");
    }
 
/* Скрыть погоду на новой вкладке */
menuitem[data-l10n-id="newtab-weather-menu-hide-weather"] {
    list-style-image: url("chrome://browser/skin/forward.svg");
    }
 
/* Подробнее */
menuitem[data-l10n-id="newtab-weather-menu-learn-more"] {
    list-style-image: url("chrome://branding/content/icon32.png");
    }

Где "засада" не пойму.
 
Добавлено:
На название иконок не обращайте внимания, это так, для теста.

Всего записей: 1633 | Зарегистр. 12-10-2002 | Отправлено: 17:58 24-05-2025 | Исправлено: grom17, 18:00 24-05-2025
idefikar

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ttettette
1. Гамбургер это панель, а не меню, следовательно никакого menu-text там быть не может.
2. Сейчас все проще, гамбургер и главное меню:
Код:
toolbarbutton#appMenu-extensions-themes-button > .toolbarbutton-text::before {
    content: "Дополнения и темы" !important;
}
menuitem#menu_openAddons > .menu-text::before {
    content: "Дополнения и темы" !important;
}

Всего записей: 307 | Зарегистр. 04-08-2022 | Отправлено: 23:57 24-05-2025
Death_INN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Farby Каким образом в скрипте Экспорт папки в HTML подгружается UcfPrefs без его импорта? Вопрос для тех, кто не юзает UCF

Всего записей: 3949 | Зарегистр. 24-10-2002 | Отправлено: 01:52 25-05-2025 | Исправлено: Death_INN, 10:05 25-05-2025
ttettette

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
idefikar
Работает. Спасибо!

Всего записей: 115 | Зарегистр. 07-07-2013 | Отправлено: 05:13 25-05-2025
Farby

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
  • Death_INN (01:52 25-05-2025 UTC+3)
    Цитата:
    подгружается UcfPrefs без его импорта?

    А ни как, его надо где-то взять, там в коде есть комент

    Код:
    //var {_uc} = ChromeUtils.importESModule("chrome://userchromejs/content/userChrome.mjs");

    Ну если проще это дебагер от Dumby
     
    Добавлено:
    там есть ещё один комент

    Код:
    //return this.exporter = _uc.dbg.ref("BookmarkExporter", imp("BookmarkHTMLUtils").exportToFile);


    ----------
    Жизнь иногда такое выкидывает, что хочется подобрать...

  • Всего записей: 840 | Зарегистр. 22-10-2002 | Отправлено: 14:38 25-05-2025
    Death_INN

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Farby, теперь ясно. Сразу не сообразил, что ты для другого выкладывал, поэтому закомментил. Я когда писал предыдущее сообщение, то уже успешно опробовал "Экспорт папки в HTML".
    Рассуждал так: Мне необходимо запустить парочку mjs в background режиме. Второй mjs - с дебаггером и экспортом переменной, которая будет импортирована в первый mjs.
    Но считаю, что импорт mjs с dbg нужно делать не внутри топика, а снаружи
     
    Я не видел содержимого userChrome.mjs. Ты там оставил только dbg или что-то еще?

    Всего записей: 3949 | Зарегистр. 24-10-2002 | Отправлено: 16:47 25-05-2025 | Исправлено: Death_INN, 16:49 25-05-2025
    Farby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
  • Death_INN (16:47 25-05-2025 UTC+3)
    Цитата:
    Ты там оставил только dbg или что-то еще?

    Увы это xiao загрузчик плюс мой плюс, и там много чего... но к сожалению вам он не нужен!!! Вам арис подавай!!
     
    Добавлено:
    И да я его сконвертировал в mjs и импортирую а  загружаю... К сожалению ваши продукты я совсем понять не могу, особенно применить к себе..
     
    Добавлено:
    Death_INNПомогите мне если что, я совсем не программист, я не обучен.

    ----------
    Жизнь иногда такое выкидывает, что хочется подобрать...

  • Всего записей: 840 | Зарегистр. 22-10-2002 | Отправлено: 17:32 25-05-2025
    Death_INN

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Farby

    Цитата:
    Вам арис подавай!!

    У меня арис никак не участвует в загрузке обсуждаемых mjs, а у xiao это, наверное, реализовано. Как-нибудь посмотрю его потроха
     

    Цитата:
    К сожалению ваши продукты я совсем понять не могу, особенно применить к себе

    Разве арис скрипты не пашут в xiao? Какой продукт непонятен? Если речь о создании пунктов меню через рендер, то я и сам не до конца понимаю этот способ

    Всего записей: 3949 | Зарегистр. 24-10-2002 | Отправлено: 18:24 25-05-2025 | Исправлено: Death_INN, 18:26 25-05-2025
    Farby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
  • Death_INN (18:24 25-05-2025 UTC+3)
    Цитата:
    наверное, реализовано. Как-нибудь посмотрю его потроха

    там никак не реализовано, это мой плус

    ----------
    Жизнь иногда такое выкидывает, что хочется подобрать...

  • Всего записей: 840 | Зарегистр. 22-10-2002 | Отправлено: 18:41 25-05-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Дано:
    userContent.css
    :root {scrollbar-color: #ff9900 transparent !important;}
     
    Вопрос:
    Можно ли добавить чёрную окантовку скроллбара? Как?
     
    Добавлено:
    Окантовка именно по активной таскаемой части скроллбара. Прозрачный фон остальной его части (не активной) должен прозрачным и остаться.
     
    Примерно вот так наглядно.
     
    Слева - как есть сейчас, справа - как надо (в пэйнте дорисовал).
     
         

    Всего записей: 19778 | Зарегистр. 04-11-2010 | Отправлено: 18:55 25-05-2025
    grom17



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В крайней "ночнушке" FF140 поломались отступы в контекстном меню, у меня проблема решилась так:

    Код:
    /* Отступы контекстного меню (корректировка) в FF140 */
    menupopup[needsgutter] {
      @media (-moz-platform: linux) or (-moz-platform: windows) {
        & > :is(menu, menuitem) > .menu-icon {
          display: none !important;
        }
      }
    }

     
    Добавлено:
    insorg, Когда то делал под себя полосу прокрутки и уже не помню источник:
     
    Свойства и значения полосы прокрутки:
     
    1. width: Задает ширину полосы прокрутки.
    2. color: Устанавливает цвет полосы прокрутки.
    3. background-color: Определяет цвет фона ползунка полосы прокрутки.
    4. border: Применяет рамку вокруг полосы прокрутки.
    5. border-radius: Закругляет углы полосы прокрутки.
    6. scrollbar-width: Регулирует ширину полосы прокрутки.
    7. scrollbar-color: Устанавливает цвет бегунка и дорожки полосы прокрутки.

    Всего записей: 1633 | Зарегистр. 12-10-2002 | Отправлено: 19:44 25-05-2025
    Smallette

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    grom17
    после обновления на 139 сломался твой код:

    Код:
    /* Делает кнопки контекстной навигации как обычные текстовые пункты меню */
    #context-navigation { flex-direction: column !important; }  
    #context-navigation > .menuitem-iconic {
        flex: 1 !important;
        justify-content: flex-start !important;
        align-items: center !important;
        padding-inline-start: 10px !important;    /* Отступ меню вправо-влево */
        margin: -4px !important;                     /* Междустроковый интевал */
    }
    #context-navigation > menuitem::after {
        content: attr(aria-label);
    }

     
    что то случилось с выделением пунктов при наведении указателя мыши.
    Как поправить?
    Заранее спасибо.
     
    Up
    Сделал так  
    padding: 0px 0px 0px 4px !important;
    margin: 0px !important;
     
    потому что отрицательный маржин все портит. Но как текст выровнять?

    Всего записей: 403 | Зарегистр. 01-11-2006 | Отправлено: 07:09 28-05-2025 | Исправлено: Smallette, 16:50 28-05-2025
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155

    Компьютерный форум Ru.Board » Компьютеры » Программы » Mozilla Firefox: стили userChrome.css и скрипты js


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru