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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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-селекторов элементов интерфейса встроенными средствами браузера

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

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

расширение это тот же самый скрипт
вот такой вариант есть https://greasyfork.org/ru/scripts/381604-drag-link-to-copy-text надо переделать наверно чтобы вместо перетаскивания был пункт меню, но это ты уже сам
 
Добавлено:
ну или вот это  
https://chrome.google.com/webstore/detail/copy-link-name/mafjnaphoepgijmgfeemillelgkeigid
тут только
background.js чтобы добавить кнопку в контекст меню

Код:
chrome.runtime.onInstalled.addListener(() => {
  chrome.contextMenus.create({
    id: 'copy-link-name',
    title: 'Copy Link Name',
    contexts: ['link']
  });
});
 
chrome.contextMenus.onClicked.addListener((info, tab) => {
  if (info.menuItemId === 'copy-link-name') {
    chrome.tabs.sendMessage(tab.id, 'copy', {frameId: info.frameId}, () => {});
  }
});

 
и сам скрипт copy_link_name.js

Код:
let copyLinkNameLastTarget = null;
document.addEventListener('contextmenu', event => {
  const eventPath = event.composedPath();
  for (const node of eventPath) {
    if (node.nodeName != null && node.nodeName.toLowerCase() === 'a') {
      copyLinkNameLastTarget = node;
      return;
    }
  }
  copyLinkNameLastTarget = null;
}, /* capture= */ true);
 
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  if (message === 'copy' && copyLinkNameLastTarget != null) {
    const copyTextArea = document.createElement('textarea');
    copyTextArea.style.opacity = 0;
    copyTextArea.value = copyLinkNameLastTarget.innerText;
    document.body.appendChild(copyTextArea);
    copyTextArea.select();
    document.execCommand('copy', /* showUI= */ false, /* value= */ null);
    document.body.removeChild(copyTextArea);
  }
  sendResponse();
});

можешь разобраться как добавить пункт в контекстное меню в скриптах для тамперманкей (и всех остальных *monkey) и добавить второй скрипт туда
 
Добавлено:
ну или ещё как то

Всего записей: 7416 | Зарегистр. 11-02-2020 | Отправлено: 15:44 16-08-2023
Farby

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
pangasiys (15:03 16-08-2023 UTC+3)

Цитата:
много всего а того че мне надо чет нема (

странно у меня есть


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

Всего записей: 840 | Зарегистр. 22-10-2002 | Отправлено: 15:58 16-08-2023
greeple

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
или любое отсюда берешь https://addons.mozilla.org/ru/firefox/search/?q=copy+link+text скачиваешь, открываешь и смотришь скрипт
сходу вот два скрипта
https://addons.mozilla.org/ru/firefox/addon/copy-link-text/ даблклик по ссылке копирует текст

Код:
const links = document.getElementsByTagName("a");
 
for (const link of links) {
  link.addEventListener("dblclick", onDoubleClick);
}
 
function onDoubleClick(e) {
  const link = e.currentTarget;
  const linkText = link.textContent;
  navigator.clipboard.writeText(linkText);
}

 
второй добавляет в контекстное меню ссылку https://addons.mozilla.org/ru/firefox/addon/copy-link-text-webextension/

Код:
"use strict";
 
browser.menus.onClicked.addListener(async (info, tab) => {
  if (info.menuItemId != "copy-link-text") {
    return;
  }
 
  let linkText = info.linkText;
  if (info.modifiers &&
      info.modifiers.length == 1 &&
      info.modifiers[0] == "Shift") {
    let response = await browser.permissions.request({origins: ["<all_urls>"]});
    if (response) {
      let result;
      try {
        result = (await browser.tabs.executeScript(tab.id, {
          frameId: info.frameId,
          matchAboutBlank: true,
          code: `
            var title = "";
            var XLINK_NS = "http://www.w3.org/1999/xlink";
            var elem = browser.menus.getTargetElement(${info.targetElementId});
            for (; elem; elem = elem.parentElement) {
              if (elem.href ||
                  elem.hasAttribute("href") ||
                  elem.hasAttributeNS(XLINK_NS, "href")) {
                title = elem.getAttribute("title") ??
                        elem.getAttributeNS(XLINK_NS, "title") ??
                        elem.querySelector("[title]")?.getAttribute("title") ?? "";
                break;
              }
            }
            title;
          `,
        }))[0];
      }
      catch(ex) {
        console.error(ex);
      }
      if (result &&
          result != "" &&
          result != linkText) {
        linkText = result;
      }
    }
  }
 
  navigator.clipboard.writeText(linkText).catch(() => {
    console.error("Failed to copy the link text.");
  });
});
 
browser.menus.create({
  id: "copy-link-text",
  title: browser.i18n.getMessage("contextMenuItemLink"),
  contexts: ["link"],
});


Всего записей: 7416 | Зарегистр. 11-02-2020 | Отправлено: 16:08 16-08-2023
usalex

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как убрать эту хрень?
(чтоб строка поиска поднялась выше)
 

Всего записей: 6519 | Зарегистр. 20-12-2004 | Отправлено: 16:12 16-08-2023
greeple

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а тут сразу куча всего
https://addons.mozilla.org/ru/firefox/addon/text-linky-tool/ есть и копировать текст на ссылках, и копировать ссылку с названием вкладка кликом на вкладке, но это уже в скрипт сложно запихивать, там много скриптов
кароче каждый делает как хочет

Всего записей: 7416 | Зарегистр. 11-02-2020 | Отправлено: 16:13 16-08-2023
curse127



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать выпадающий список закладок в несколько рядов? Как в cent.

Всего записей: 111 | Зарегистр. 09-05-2021 | Отправлено: 16:21 16-08-2023 | Исправлено: curse127, 16:23 16-08-2023
pangasiys



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

Всего записей: 7014 | Зарегистр. 05-06-2012 | Отправлено: 16:24 16-08-2023
greeple

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
usalex
в about:config
browser.newtabpage.activity-stream.logowordmark.alwaysVisible          false
но оно много размера не даст
 
Добавлено:
примерно вот как желтая область https://i.imgur.com/8nnsXpT.png потому что идет вместе с поиском https://i.imgur.com/HkyleQd.png

Всего записей: 7416 | Зарегистр. 11-02-2020 | Отправлено: 16:27 16-08-2023
usalex

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

Цитата:
но оно много размера не даст

А, по-моему, самое то. Амбразура поднялась именно так, как мне нужно.
Спасибо большое.

Всего записей: 6519 | Зарегистр. 20-12-2004 | Отправлено: 16:53 16-08-2023
gutasiho

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

Всего записей: 8875 | Зарегистр. 14-09-2020 | Отправлено: 17:10 16-08-2023 | Исправлено: gutasiho, 16:21 17-08-2023
pangasiys



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greeple
перепробовал ВСЕ твои скрипты чтоб текст ссылки скопировать - не один не пашет (
 
Добавлено:
Farby
Цитата:
странно у меня есть  
ну тогда поделись серетом как сделал
 
 
Добавлено:
...сеКретом
 
 
Добавлено:
.......эээх беда - неужели ставить расширение - чет не верится что нету скрипта или стиля такого

Всего записей: 7014 | Зарегистр. 05-06-2012 | Отправлено: 17:35 16-08-2023
greeple

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pangasiys
Цитата:
перепробовал ВСЕ твои скрипты чтоб текст ссылки скопировать - не один не пашет (

у меня все пашут, ну тебе в фоксе надо, https://addons.mozilla.org/ru/firefox/addon/copy-link-text-webextension/ вот этот только что проверил, работает, а как его переписать в скрипт это уже дело твоё, код внутри в одном файле, добавить в скрипт можно

Всего записей: 7416 | Зарегистр. 11-02-2020 | Отправлено: 18:11 16-08-2023
pangasiys



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greeple
да этол расширение! оно то естессно будет пахать - а я то хочу только скрипт и всё

Всего записей: 7014 | Зарегистр. 05-06-2012 | Отправлено: 18:15 16-08-2023
greeple

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://addons.mozilla.org/ru/firefox/addon/copy-link-url-we это работает  
https://addons.mozilla.org/ru/firefox/addon/pure-link-text/ а это даже в контекстное меню добавляет текст который копирует https://i.imgur.com/lrNCsQ5.png
 
Добавлено:
код второго

Код:
"use strict";
 
const MENU_ID = "pure-link-text@klemens.io"
 
browser.menus.create({
    id: MENU_ID,
    title: "Copy link text",
    contexts: [
        "link"
    ]
});
 
// Will update the menu entry title of hide it if title is null
function updateMenu(title) {
    let update = {
        visible: false
    };
 
    if(title != null) {
        if(title.length > 25) {
            // TODO: Make limit configurable
            title = title.slice(0, 22) + "...";
        }
         
        update = {
            // Escape & by doubling it to avoid access keys being generated.
            // Note that %s sill causes selected content being interpolated,
            // which cannot be prevented currently.
            title: `Copy "${title.replace(/&/g, "&&")}"`,
            visible: true
        };
    }
 
    browser.menus.update(MENU_ID, update);
    browser.menus.refresh();
}
 
 
// Decide if and what to show when the menu entry is displayed
browser.menus.onShown.addListener(info => {
    // linkText defaults to linkUrl if the link contains no text.
    // Hide copy menu entry in this case (the user can just copy
    // the link address).
    if(info.linkText && info.linkText != info.linkUrl) {
        updateMenu(info.linkText);
    } else {
        updateMenu(null);
    }
});
 
// Make the menu entry visible again when the context menu is closed,
// otherwise onShown will not be called again when visibile is false
browser.menus.onHidden.addListener(() => {
    browser.menus.update(MENU_ID, {
        visible: true
    });
    browser.menus.refresh();
});
 
// Copy the link text to the clipboard when the menu entry is clicked
browser.menus.onClicked.addListener(info => {
    if(info.menuItemId != MENU_ID || !info.linkText) {
        return;
    }
 
    navigator.clipboard.writeText(info.linkText);
});
 

 
Добавлено:
pangasiys
Цитата:
да этол расширение! оно то естессно будет пахать - а я то хочу только скрипт и всё

ну так сделай в виде скрипта его, я чтоль должен делать?

Всего записей: 7416 | Зарегистр. 11-02-2020 | Отправлено: 18:17 16-08-2023
pangasiys



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greeple
Цитата:
ну так сделай в виде скрипта его, я чтоль должен делать?
да блин еслиб умел то давно бы сдела!!!
 
 
Добавлено:
....попробую второй который дал выше
 
Добавлено:
.....не - лан - поставлю расширение

Всего записей: 7014 | Зарегистр. 05-06-2012 | Отправлено: 18:27 16-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Death_INN
Мне нужно чтоб окно плеера было чётко 1920х1080 вместо стандартных 720р. Или в обыном виде, или в театральном. Банальность в виде 150% масштаба страницы не катит, потому что тогда окно плеера уменьшается и там уже далеко не 1080р на выходе, а меньше.  
 
Добавлено:
А разрешения аж три разных - 2560х1440, 3440х1440, 3840х2160. Процент не прокатит.

Всего записей: 19779 | Зарегистр. 04-11-2010 | Отправлено: 20:06 16-08-2023
Inoz2000



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Глубоко вникать в ваши разрешения пока некогда, но размер окна браузера всётки бывает меньше разрешения монитора, НЕ ТАК ЛИ

Всего записей: 5480 | Зарегистр. 23-04-2009 | Отправлено: 20:15 16-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000
Я в курсе про меньше и прекрасно понимаю возможные последствия прибивания размера блока плеера гвоздями к строго 1920х1080. Более того, раз у ютуба и так есть "два режима" этого самого блока с плеером, то и тем более мне это проблем не доставит (если понадобится подключить меньший монитор, то всегда можно будет переключить на нетронутый вариант).

Всего записей: 19779 | Зарегистр. 04-11-2010 | Отправлено: 20:28 16-08-2023
Inoz2000



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А не доставит ли проблем использовать на разных разрешениях один размер окна… или я чего-то не понима?

Всего записей: 5480 | Зарегистр. 23-04-2009 | Отправлено: 21:30 16-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000
Долго объяснять все аргументы зачем именно так, но именно желаемое решение и есть единственным подходящим.

Всего записей: 19779 | Зарегистр. 04-11-2010 | Отправлено: 21:33 16-08-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 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