Как добавить собственные элементы в контекстное меню веб-страницы Firefox?

Как добавить собственные элементы в контекстное меню веб-страницы Firefox?

Так что, в принципе, у меня есть все виды скриптов командной строки, которые я закодировал для выполнения различных вещей для меня. Один из них загружает любое видео с веб-страницы, а другой разбирается и открывает изображения Instagram в полном размере. Пока все хорошо.

Однако каждый раз, когда я хочу использовать эти инструменты, мне приходится вручную копировать и вставлять URL из Firefox в мой скрипт и запускать его. Это как бы сводит на нет суть.

Я хочу иметь возможность добавлять свой собственный пункт контекстного меню в Firefox, чтобы при щелчке правой кнопкой мыши по веб-странице появлялась опция (например) «Загрузить видео», при щелчке по которой просто запускалась определенная команда, например:

php /path/to/my/script.php --URL="%1"

Где %1, конечно же, означает URL текущей веб-страницы.

Я долго и упорно искал, искал и спрашивал везде, но, похоже, нет способа просто отредактировать миленькую конфигурацию, чтобы добиться этого. Единственные предложения говорят об использовании какого-то страшного стороннего "расширения". Я ненавижу эти расширения. Я даже не доверяю Mozilla в наши дни (и на то есть веские причины), не говоря уже обо всех этих сомнительных сторонних расширениях, которые, как мне кажется, просто кричат ​​"шпионаж/вредоносное ПО".

В конце концов, если бы я мог слепо доверять расширениям, я мог бы просто использовать какое-нибудь расширение для выполнения этих задач, которые я старался автоматизировать самостоятельно.

Тем не менее, если естьДействительнонет способа сделать это без расширения, может быть, вы хотя бы можете предложить то, которое не было бы полностью злым? Я, честно говоря, считаю полным безумием, что что-то столь простое, как редактирование контекстного меню (также для удаления всякого мусора, который Mozilla туда поместила, и который я постоянно выбираю случайно) не (легко?) возможно.

PS: Я абсолютнонетзаинтересован в «разработке собственного расширения».

решение1

Это определенно то, что будет работать лучше всего, если разрабатывать его как часть WebExtension. Соответствующий API будет найденздесь.

Если вы действительно не хотите идти по этому пути, вы можете обойти контекстное меню браузера, прослушиваяcontextMenu событиячтобы создать собственное внутристраничное 'меню' и остановить показ стандартного, отменив это событие. Именно так некоторые веб-сайты добавляют свои собственные пользовательские меню правой кнопки мыши.

Связанный контент