Вопрос или проблема
Когда-то можно было редактировать контекстные меню Firefox с помощью различных расширений – которые больше не существуют. Предположительно, API Firefox изменились, поэтому эти расширения перестали работать и были удалены из списка.
Мои контекстные меню заполнены ненужными элементами, которые я никогда не использую, многие из которых были добавлены расширениями. Я хотел бы удалить те элементы, которые мне не нужны, и, возможно, изменить порядок оставшихся.
Как это сделать в последней версии Firefox (104)?
(Я предпочел бы встроенный метод или расширение, а не возиться с css и т. д.)
Отрицательный ответ:
Firefox, исходя из соображений безопасности, в настоящее время не позволяет
расширениям изменять существующие элементы контекстного меню.
Расширениям разрешено только добавлять, изменять или удалять свои собственные
добавления в меню.
Это означает, что больше невозможно написать расширение,
которое бы упрощало контекстное меню.
Вы можете удалить элементы из загроможденного контекстного меню, только удалив
расширение, которое их добавило, или изменив некоторые параметры в
настройках расширения (если у него есть такая опция).
Это возможно с некоторыми ручными настройками через userChrome.css. Я только что протестировал это на Windows FF 121.0.1.
Оригинальный контент принадлежит Янису Эльмерису, за что я ему очень благодарен!
- Включите настройки
userChrome.css
в последних версиях Firefox:
- Откройте
about:config
- Установите
toolkit.legacyUserProfileCustomizations.stylesheets = true
- Найдите ID элемента меню:
- Откройте инструменты разработчика (F12)
- Откройте настройки (F1)
- Убедитесь, что установлены галочки “Включить отладочные инструменты браузерного интерфейса и дополнений”
- Убедитесь, что установлена галочка “Включить удаленную отладку”
- Откройте отладку браузера (Ctrl+Alt+Shift+I), примите входящее соединение
- В отладке браузера нажмите на кнопку опций (…) > Отключить автоскрытие всплывающих окон
- Откройте контекстное меню FF
- В отладке браузера используйте “Проверить элемент”, чтобы найти интересующий элемент меню
- #context-copylink
- Создать
userChrome.css
:
- Откройте профиль FF: Справка > Информация для устранения неполадок > Директория профиля
- Создайте папку
chrome
- Создайте
userChrome.css
- Скройте элемент меню, добавив найденный CSS-селектор в
userChrome.css
:#context-copylink { display: none; }
- После добавления всех необходимых элементов меню перезапустите Firefox
Ответ или решение
Редактирование上下文 меню Firefox: Полное руководство
В последние годы Mozilla Firefox ограничила возможности расширений, касающиеся редактирования контекстных меню. Это довольно существенная проблема для пользователей, желающих упростить и адаптировать свои контекстные меню, поскольку многие из них переполнены ненужными элементами, добавленными различными расширениями.
Тем не менее, существует возможность внести изменения в контекстные меню с использованием встроенных функций Firefox и небольших манипуляций с файлом userChrome.css
. В этом руководстве мы расскажем, как это сделать.
Шаг 1: Включение пользовательских настроек userChrome.css
Для начала необходимо разрешить использование пользовательского стиля в Firefox. Это можно сделать следующим образом:
- В адресной строке введите
about:config
и нажмите Enter. - Примите предупреждение о рисках и введите в строке поиска следующую настройку:
toolkit.legacyUserProfileCustomizations.stylesheets
. - Убедитесь, что эта настройка имеет значение
true
.
Шаг 2: Определение идентификатора элемента меню
Чтобы скрыть или изменить элементы контекстного меню, вам нужно знать их идентификаторы. Для этого выполните следующие процедуры:
- Откройте инструменты разработчика, нажав
F12
. - Перейдите в настройки (нажмите
F1
) и включите опции «Включить отладку браузерского хрома и инструментов отладки дополнений» и «Включить удаленную отладку». - Откройте отладку браузера, нажав комбинацию клавиш
Ctrl + Alt + Shift + I
, и примите входящее соединение. - В меню отладки отключите автоматическое скрытие всплывающих окон, нажав на кнопку меню (три точки) и выбрав соответствующий параметр.
- Кликните правой кнопкой мыши на контекстное меню и выберите «Инспектировать элемент». Это позволит вам найти идентификатор нужного элемента. Например, для элемента «Копировать ссылку» идентификатор будет
#context-copylink
.
Шаг 3: Создание или редактирование файла userChrome.css
Теперь, когда вы знаете идентификатор меню, создайте или отредактируйте файл userChrome.css
следующим образом:
-
Откройте директорию профиля Firefox. Для этого перейдите в «Справка» > «Информация для устранения неполадок» и найдите путь к каталогу профиля.
-
Если папки
chrome
нет, создайте её. -
В папке
chrome
создайте файл с именемuserChrome.css
. -
Откройте этот файл в текстовом редакторе и добавьте следующие строки, чтобы скрыть ненужный элемент меню:
#context-copylink { display: none; }
-
Для каждого элемента, который вы хотите скрыть, добавляйте аналогичные строки, заменяя идентификатор на соответствующий.
Шаг 4: Перезапуск Firefox
После редактирования файла userChrome.css
обязательно перезапустите браузер. Это позволит изменениям вступить в силу и обновить контекстные меню.
Заключение
Хотя современные ограничения Firefox затрудняют редактирование контекстных меню с помощью расширений, использование userChrome.css
предоставляет пользователям необходимую гибкость в настройке среды. Не забывайте проверять совместимость новых версий Firefox с этой методикой, так как изменения в API могут влиять на работоспособность ваших настроек.
Вы можете использовать этот подход для оптимизации рабочего пространства, сделав ваш браузер более функциональным и удобным. Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться к сообществу пользователей Firefox или исследовать документацию на официальном сайте Mozilla.