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

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

№126-12-2018 20:21:17

Najlus
Рррррррррррь!
 
Группа: Extensions
Откуда: Город N
Зарегистрирован: 11-01-2009
Сообщений: 1988
UA: Firefox 64.0

Попытка перехода на современные версии Firefox

Доброго всем вечера.

Долгое время пользовался PaleMoon из-за того, что mozilla нехило так перелопатила firefox, благодаря чему многие из нужных дополнений благополучно отвалились. Но движок там устаревший, из-за чего на сайтах, обмазанных яваскриптом, начали встречаться проблемы, вот и решил попытаться вернуться обратно на ff. За прошедшее время часть дополнений допилили, однако ряд проблем решить так и не удалось, с чем и прошу вас помочь:

  • Есть ли возможность сделать в новых табах открытие локального файла? Пробовал несколько дополнений - открывают пустую страницу.
  • Есть ли возможность сделать так, чтоб при закрытии таба лиса переключалась на последний активный таб?
  • Есть ли возможность редактировать контекстные меню, дабы убрать лишние пункты?
  • Есть ли что-то подобное расширению locationbar - эта штука позволяла при клике на часть url перейти к нему. Например, есть некий url с адресом site.domen/forum/loremipsum, и при клике на слово "forum" в нём, браузер переходил на адрес site.domen/forum. ОЧЕНЬ не хватает этой возможности.
  • Подскажите какой нибудь аналог Paste e-mail plus (вставка через контекстное меню заранее заготовленного текста. Желательно с многоуровневым меню). Данный аддон зело глючен и работает не во всех текстовых полях.
  • И не хватает ещё одного дополнения: TabScope - отображение миниатюры сайта при наведении курсора на вкладку.
  • И есть ли возможность открывать вкладки в несколько строк вместо появления прокрутки?
  • Пока что последнее: есть ли возможность убрать кнопку закрытия на активном табе?

Вы ленивы, следовательно вы изобретательны (Граф Де Гиш)
Список настроек About:config на русском языке с пояснениями и рекомендациями

Отсутствует

 

№226-12-2018 20:52:56

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Seamonkey 2.14

Re: Попытка перехода на современные версии Firefox

Najlus пишет: из-за чего на сайтах, обмазанных яваскриптом, начали встречаться проблемы,

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


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№326-12-2018 21:31:09

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: unknown 0.0

Re: Попытка перехода на современные версии Firefox

Najlus
У меня три попытки переезда закончились полным провалом. Сейчас держу ESR52 как основной, на нём куча всего, он не поворотлив, но мне очень удобно и ещё есть портативный ESR60, где стоит пару расширений им пользуюсь иногда. Планирую сидеть на 52 пока хоть что-то работает, а там надеюсь придумают аналоги для моих кнопок и расширений и не факт что это будет продукт от Мозиллы.

Отсутствует

 

№426-12-2018 22:08:44

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3972
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Najlus пишет

Есть ли возможность редактировать контекстные меню, дабы убрать лишние пункты?

Да. Стилем. Как и раньше. Стили никуда не делись.

скрытый текст
Примерно так:

Выделить код

Код:

#tabContextMenu #context_sendTabToDevice 
 {visibility: collapse !important; display: none !important; }

Najlus пишет

Есть ли возможность сделать в новых табах открытие локального файла? Пробовал несколько дополнений - открывают пустую страницу.

С помощью дополнений можно. Искать что-то вроде «new tab».

Najlus пишет

Есть ли возможность сделать так, чтоб при закрытии таба лиса переключалась на последний активный таб?

Вот тут это как проблему рассматривают. Значит можно.

Najlus пишет

Есть ли что-то подобное расширению locationbar

Нет и больше никогда не будет.

Najlus пишет

И есть ли возможность открывать вкладки в несколько строк вместо появления прокрутки?

Вот тут чловек это стилем забабахл. Не знаю, будет ли работать на 64, но на 57 — работало.

Najlus пишет

Пока что последнее: есть ли возможность убрать кнопку закрытия на активном табе?

Стилем. Хотя это странное пожелание, на мой взгляд.

Отсутствует

 

№527-12-2018 06:29:02

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3141
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Najlus

вставка через контекстное меню заранее заготовленного текста. Желательно с многоуровневым меню

Clippings

userChrome.css
контекстное меню

Отредактировано oleg.sgh (27-12-2018 07:20:21)

Отсутствует

 

№627-12-2018 18:22:30

Najlus
Рррррррррррь!
 
Группа: Extensions
Откуда: Город N
Зарегистрирован: 11-01-2009
Сообщений: 1988
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Coroner пишет

С помощью дополнений можно. Искать что-то вроде «new tab».

Написал же - тупо открывают пустую страницу. New Tab Override, вроде, по честному предупреждает, что не умеет в такое. Речь именно о локальном файле, а не о web-адресе. Не, можно, конечно, запихать эту страницу на VPS, но это уже какое-то больное извращение.

Coroner пишет

Вот тут это как проблему рассматривают. Значит можно.

Спасибо, помогло. Хотя, опять же, не всегда срабатывает =_=

Coroner пишет

Нет и больше никогда не будет.

@#$%&!!!

Coroner пишет

Вот тут чловек это стилем забабахл. Не знаю, будет ли работать на 64, но на 57 — работало.

Уже не работает.

Coroner пишет

Стилем. Хотя это странное пожелание, на мой взгляд.

Каким?

Добавлено 27-12-2018 18:23:03

oleg.sgh пишет

Najlus

вставка через контекстное меню заранее заготовленного текста. Желательно с многоуровневым меню

Clippings

userChrome.css
контекстное меню

Спасибо. Как бы ещё научиться имена пунктов меню дополнений определять...

Добавлено 27-12-2018 18:23:40

okkamas_knife пишет

Najlus пишет: из-за чего на сайтах, обмазанных яваскриптом, начали встречаться проблемы,

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

Один фиг когда-то придётся переходить - проблема всё чаще встречается.

Отредактировано Najlus (27-12-2018 21:02:07)


Вы ленивы, следовательно вы изобретательны (Граф Де Гиш)
Список настроек About:config на русском языке с пояснениями и рекомендациями

Отсутствует

 

№727-12-2018 19:10:53

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3141
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Najlus

Как бы ещё научиться имена пунктов меню дополнений определять...

https://forum.mozilla-russia.org/viewto … 58#p758758

Отсутствует

 

№827-12-2018 21:58:05

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3972
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Простите, не видел про «локальный файл». Если не ошибаюсь — тогда никак, кроме того как запилить своё расширение с файлами и подписью.
Mozilla заботится о вашей безопасности.

Najlus пишет

Каким?

Ну как то вот так:

Выделить код

Код:

.tabbrowser-tab .tab-close-button {
  visibility: collapse !important;
}

Добавлено 27-12-2018 22:01:04
P.S. Если установлены стили от Ариса-нашего-всё и там включены всякие настройки вроде «tab_close_show_on_hover_only» — то возможен конфликт и придётся соответствующие стили Aris выключать. Или писать более подробный код.

Добавлено 27-12-2018 22:02:31

Coroner пишет

Если не ошибаюсь — тогда никак, кроме того как запилить своё расширение с файлами и подписью.

Если решение обнаружится — сделайте одолжение — сообщите, пожалуйста. Тоже в таком заинтересован.

Отредактировано Coroner (27-12-2018 22:02:31)

Отсутствует

 

№928-12-2018 05:10:25

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

Re: Попытка перехода на современные версии Firefox

Coroner пишет

Если решение обнаружится — сделайте одолжение — сообщите, пожалуйста. Тоже в таком заинтересован.

Скрась ожидание

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

Выделить код

Код:

menubar#main-menubar > menu#edit-menu > label {
    -moz-binding: url('data:text/xml,\
        <bindings xmlns="http://www.mozilla.org/xbl"><binding id="newtab"><implementation>\%0A\
            <constructor>aboutNewTabService.newTabURL="file:///D:/bla.html"</constructor>\%0A\
        </implementation></binding></bindings>'
    );
}

Отсутствует

 

№1028-12-2018 11:32:19

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3972
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Dumby пишет

Скрась ожидание

Это чего? И всё?! А как-же без дополнения на сотню килобайт с подписью и локализациями? :D

Восхищаюсь Dumby и бесконечно разочарован аддонописцами, разработчиками Mozilla и вообще всем белым светом. :)
Спасибо, уважаемый. С наступающим вас новым годом, здоровья, счастья и денежек!

Отсутствует

 

№1129-12-2018 11:45:58

Najlus
Рррррррррррь!
 
Группа: Extensions
Откуда: Город N
Зарегистрирован: 11-01-2009
Сообщений: 1988
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Dumby пишет
Coroner пишет

Если решение обнаружится — сделайте одолжение — сообщите, пожалуйста. Тоже в таком заинтересован.

Скрась ожидание

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

Выделить код

Код:

menubar#main-menubar > menu#edit-menu > label {
    -moz-binding: url('data:text/xml,\
        <bindings xmlns="http://www.mozilla.org/xbl"><binding id="newtab"><implementation>\%0A\
            <constructor>aboutNewTabService.newTabURL="file:///D:/bla.html"</constructor>\%0A\
        </implementation></binding></bindings>'
    );
}

Спасибо тебе огромнейшее!

Coroner пишет
Najlus пишет

И есть ли возможность открывать вкладки в несколько строк вместо появления прокрутки?

Вот тут чловек это стилем забабахл. Не знаю, будет ли работать на 64, но на 57 — работало.

Извиняюсь за дезинформацию - всё же заработало (я не целиком код умудрился скопировать). Правда расстояние между вкладками великовато.


Вы ленивы, следовательно вы изобретательны (Граф Де Гиш)
Список настроек About:config на русском языке с пояснениями и рекомендациями

Отсутствует

 

№1229-12-2018 14:31:11

Najlus
Рррррррррррь!
 
Группа: Extensions
Откуда: Город N
Зарегистрирован: 11-01-2009
Сообщений: 1988
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

И ещё вопрос появился - есть ли расширение, добавляющее кнопку в поле адреса, которая будет очищать его от текста?


Вы ленивы, следовательно вы изобретательны (Граф Де Гиш)
Список настроек About:config на русском языке с пояснениями и рекомендациями

Отсутствует

 

№1303-01-2019 13:19:21

Wave
Участник
 
Группа: Members
Зарегистрирован: 27-09-2007
Сообщений: 498
UA: Firefox 56.0

Re: Попытка перехода на современные версии Firefox

Dumby пишет
Coroner пишет

Если решение обнаружится — сделайте одолжение — сообщите, пожалуйста. Тоже в таком заинтересован.

Скрась ожидание

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

Выделить код

Код:

menubar#main-menubar > menu#edit-menu > label {
    -moz-binding: url('data:text/xml,\
        <bindings xmlns="http://www.mozilla.org/xbl"><binding id="newtab"><implementation>\%0A\
            <constructor>aboutNewTabService.newTabURL="file:///D:/bla.html"</constructor>\%0A\
        </implementation></binding></bindings>'
    );
}

Эм… Я только не понял, а как насчёт открытия любого локального файла, а не заранее прописанного bla.html?

Отсутствует

 

№1403-01-2019 15:43:51

wayo
Участник
 
Группа: Members
Зарегистрирован: 17-02-2018
Сообщений: 112
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Najlus

Есть ли возможность сделать в новых табах открытие локального файла? Пробовал несколько дополнений - открывают пустую страницу.

Не решение, а просвящения ради.

Реализовать такое можно. Нужна маленькая программа-прокси на C++ или чем-то таком и аддон к ней в пару. Оба должны общаться между собой через Native messaging. Аддон посылает сообщение с просьбой открыть файл к программке. Программка открывает. Само сообщение к программке-прокси это команда командной строки и имя открываемого файла.

Вообще через Native messaging можно реализовать все, кроме изменения UI. Как пример поискать запущенный профиль Firefox, найти в памяти файлы кэша открытой страницы и запаковать их в архив .mht.

Можно также отображать иконку в трее. Которая обменивая сообщениями с Firefox позволяет управлять Firefox. Или прятать в трей, скрывая с панели задачь, если системная панель задач позволяет скрытие.

Саму программу-прокси следует упаковать в msi инстолятор для Windows или deb для Ubuntu. И в случае, если у пользователя она не установлена показывать вкладку с ссылкой на программу и предложением установить.

Эта тема требует изучения и проб. Говорить подробнее о ней я пока не готов.

Еще есть некраисывый способ. Разработчики аддонов вместо открытия локального файла могут показывать пустую страницу с ссылкой на локальный файл (т.к. Web Extensions не позволяет открывать локальные файлы). Пользователь может сам копировать/вставить файл в адрессную строку или перетащить ссылку на панель вкладок и для открытия нажать Enter.

Есть ли что-то подобное расширению locationbar

Есть и это Parent Path. Хотя автор мог бы его и получше написать с большим каличеством паттернов url. Сам интерфес дополнения менять теперь не могут, вот во всплывающих окошках показывать могут что угодно.
Для моих нужд это расширение весьма удобно. Не знаю может даже hot key как-то на открытие этого окошка назначить можно? Тогда вообще быстрый переход будет.

Отредактировано wayo (03-01-2019 15:46:14)


люблю мяско

Отсутствует

 

№1503-01-2019 16:58:45

Najlus
Рррррррррррь!
 
Группа: Extensions
Откуда: Город N
Зарегистрирован: 11-01-2009
Сообщений: 1988
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

wayo пишет

Есть и это Parent Path. Хотя автор мог бы его и получше написать с большим каличеством паттернов url. Сам интерфес дополнения менять теперь не могут, вот во всплывающих окошках показывать могут что угодно.
Для моих нужд это расширение весьма удобно. Не знаю может даже hot key как-то на открытие этого окошка назначить можно? Тогда вообще быстрый переход будет.

Довольно извращённо, конечно, зато работает. Спасибо.

wayo пишет

Не решение, а просвящения ради.

Чуть выше Dumby уже предложил рабочее решение. Осталось только что-то решить с автоочисткой поля URL при ручном открытии новой вкладки.


Вы ленивы, следовательно вы изобретательны (Граф Де Гиш)
Список настроек About:config на русском языке с пояснениями и рекомендациями

Отсутствует

 

№1604-01-2019 12:27:22

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3972
UA: Firefox 63.0

Re: Попытка перехода на современные версии Firefox

Wave пишет

Эм… Я только не понял, а как насчёт открытия любого локального файла, а не заранее прописанного bla.html?

А это как? Чтобы при открытии новой вкладки окошко с выбором файла выскакивало? :/
Чем это отличается от Ctrl-O?

Отсутствует

 

№1704-01-2019 14:03:19

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2074
UA: Firefox 65.0

Re: Попытка перехода на современные версии Firefox

del

Отредактировано Vitaliy V. (04-01-2019 14:33:57)

Отсутствует

 

№1805-01-2019 21:10:32

Wave
Участник
 
Группа: Members
Зарегистрирован: 27-09-2007
Сообщений: 498
UA: Firefox 56.0

Re: Попытка перехода на современные версии Firefox

Кстати, ещё для перехода уровнем выше есть https://github.com/PerfectSlayer/scrollupfolder

Coroner, например, поставил я в квантум вебскрапбук для сохранения maff. Как мне сделать, чтобы эти самые maff открывались в квантуме по нажатию энтер на этих maff в файловом менеджере?

Отсутствует

 

№1906-01-2019 10:49:31

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3972
UA: Firefox 63.0

Re: Попытка перехода на современные версии Firefox

Wave пишет

например, поставил я в квантум вебскрапбук для сохранения maff. Как мне сделать, чтобы эти самые maff открывались в квантуме по нажатию энтер на этих maff в файловом менеджере?

скрытый текст
Это и есть функция открытия файла, но не открытия новой вкладки. А делается сие присвоением ассоциации в операционной системе.
Точно также как и открытие html файла.
Только открываться он будет, если не ошибаюсь, в текущей вкладке, коли писатели этого вебскрапбука не осилили написать функцию открытия в новой.

Но вы здесь, видимо пропустили слова «в новой вкладке»? Это и должен бы делать сам аддон (если по хорошему, позволять выбрать соответствующую опцию).


Это уже другой совсем вопрос.

Речь ведь шла об открытии новой вкладки «Open New Tab» (Ctrl-T) с локальным файлом в ней (что вы и сами подтвердили в комментарии №6), но не об «Open File in New Tab», которой в Firefox вообще нет, а есть лишь «Open File» (Ctrl-O).

Dumby подсказал соответствующее решение. В случаем с maff нужно другое и не знаю возможно ли оно вообще.

Отсутствует

 

№2006-01-2019 13:07:52

wayo
Участник
 
Группа: Members
Зарегистрирован: 17-02-2018
Сообщений: 112
UA: Firefox 64.0

Re: Попытка перехода на современные версии Firefox

Wave пишет

Coroner, например, поставил я в квантум вебскрапбук для сохранения maff. Как мне сделать, чтобы эти самые maff открывались в квантуме по нажатию энтер на этих maff в файловом менеджере?

В доке Web Scrapbook описано как https://github.com/danny0838/webscrapbook/wiki/View
Я этим способом пользуюсь и он рабочий.

Отредактировано wayo (06-01-2019 13:09:45)


люблю мяско

Отсутствует

 

№2106-01-2019 14:37:58

Wave
Участник
 
Группа: Members
Зарегистрирован: 27-09-2007
Сообщений: 498
UA: Firefox 56.0

Re: Попытка перехода на современные версии Firefox

Мдя. Способ костыльный и откровенно не универсальный, но если перейду на квантум, буду иметь в виду.

Отсутствует

 

№2223-02-2019 14:58:11

dezhnev
Участник
 
Группа: Members
Зарегистрирован: 21-04-2016
Сообщений: 72
UA: Firefox 65.0

Re: Попытка перехода на современные версии Firefox

Coroner, например, поставил я в квантум вебскрапбук для сохранения maff. Как мне сделать, чтобы эти самые maff открывались в квантуме по нажатию энтер на этих maff в файловом менеджере?

есть такая возможность, благодаря старанием ребят с руборды, не помню точно кого
вот AHK скрипт, компилишь, кладешь в папку и назначаешь всем файлам с расширением .maff .htz (формат webext webscrapbook) открывать этой прогой
что она делает: в папку %temp% разархивирует maff/htz и открывает index.html в ff или другом браузере как локальный файл

скрытый текст
#NoEnv
SetWorkingDir %A_ScriptDir%
SendMode Input
CoordMode ToolTip
SetTitleMatchMode, 2
SetTitleMatchMode, Slow

/*
При компиляции 7za.exe должен находиться в папке скрипта!

Файл maff.ini:

[Main]
# Путь к недефолтному браузеру для открытия maff-файлов
path =
# Отображение url источника, зашитого в maff-файл: 1 - в адресной строке браузера, 2 - адрес копируется в буфер, 0 - выключение функции
url_display = 0
*/

FileInstall 7za.exe, 7za.exe, 1
path=%2%
If !path && FileExist("maff.ini")
    IniRead path, maff.ini, Main, path
extract_path:=A_Temp "\" A_Now
FileCreateDir % extract_path
RunWait 7za.exe x "%1%" -o"%extract_path%", , Min
Loop % extract_path "\*index.html", , 1
{
    Run % ((path="") ? "" : path " ") . A_LoopFileFullPath
    rdf:=RegExReplace(A_LoopFileFullPath,"html?$","rdf")
    break
}
FileEncoding UTF-8-RAW
FileRead meta, % rdf
RegExMatch(meta,"originalurl RDF:resource=""\K.\S+(?=""/>)",url)
RegExMatch(meta,"title RDF:resource=""\K.*?(?=""/>)",title)
If FileExist("maff.ini")
    IniRead url_display, maff.ini, Main, url_display
If (url_display=2)
    Clipboard:=url
If (url_display=1)
{
    StringLeft title, title, 50
    WinWaitActive % title, , 10
    If Errorlevel
        goto End
    Sleep 1000
    Send ^{vk4C}
    Sleep 300
    Send {Del}
    Send % url
}
End:   
If A_IsCompiled
    FileDelete 7za.exe
ExitApp

Добавлено 23-02-2019 15:04:03
А вот увидел выше ссылку: https://github.com/danny0838/webscrapbook/wiki/View
впринципе эти батники то же самое делают :)
тогда еще не было этого решения

Отредактировано dezhnev (23-02-2019 15:04:03)

Отсутствует

 

№2323-02-2019 17:38:38

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Seamonkey 2.14

Re: Попытка перехода на современные версии Firefox

dezhnev пишет: вот AHK скрипт, компилишь, кладешь в папку и назначаешь всем файлам с расширением .maff .htz (формат webext webscrapbook) открывать этой прогой
что она делает: в папку %temp% разархивирует maff/htz и открывает index.html в ff или другом браузере как локальный файл

не проще ли завести портабельную вверсию старого фф с мафф(или унмхт) и скрапбуком и назначить открытие тех файлов им?
и мусора от разархивации не будет оставаться.
опять же можно запретить тому фф выход в сеть что повысит безопасность и уменьшит шанс разного рода утечек.(скрипт на сохранённой странице не сможет стукануть о её открытии например)


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№2423-02-2019 18:55:54

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 476
UA: Firefox 65.0

Re: Попытка перехода на современные версии Firefox

Najlus пишет

Есть ли что-то подобное расширению locationbar - эта штука позволяла при клике на часть url перейти к нему. Например, есть некий url с адресом site.domen/forum/loremipsum, и при клике на слово "forum" в нём, браузер переходил на адрес site.domen/forum. ОЧЕНЬ не хватает этой возможности.

Кнопка

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

Выделить код

Код:

(function () {
        if (location != "chrome://browser/content/browser.xul") return;
        var URLBarInput = gURLBar.mInputField;
        var locationBar = URLBarInput.parentNode.appendChild(document.createElement("hbox"));
        locationBar.style.display = "none";
        URLBarInput.parentNode.addEventListener("click", function () {
            if (URLBarInput.style.display === "none") {
                URLBarInput.style.display = "";
                locationBar.style.display = "none";
                gURLBar.select();
            }
        }, false);
        URLBarInput.parentNode.addEventListener("mouseout", function () {
            if (document.activeElement !== gURLBar.inputField) {
                locationBar.style.display = "none";
                URLBarInput.style.display = "";
                gURLBar._urlTooltip && gURLBar._hideURLTooltip();
            }
        }, false);
        URLBarInput.addEventListener("mouseover", function (event) {
            if (event.ctrlKey || document.activeElement === gURLBar.inputField) {
                return;
            }
            locationBar.parentNode.removeChild(locationBar);
            locationBar = URLBarInput.parentNode.appendChild(document.createElement("hbox"));
            locationBar.style.overflow = "hidden";
            locationBar.style.width = URLBarInput.clientWidth + "px";
            gURLBar.value.split("?")[0].split("/").map(function (value, index, arr) {
                return index + 1 === arr.length ? (gURLBar.value.split("?")[1] ? (value + "?" + gURLBar.value.split("?")[1]) : value) : value;
            }).map(function (value, index, arr) {
                var sec = locationBar.appendChild(document.createElement("label"));
                //sec.style.margin = "5px";
                sec.style.margin = "5px 0 0 0";
                sec.value = value;
                if (index < arr.length - 1) sec.value = value.replace(/[^\/]$/, "$&/");
                index === 0 && (sec.style.marginLeft = "1px");
                if (index === 0 && /:\/$/.test(sec.value)) {
                    sec.value += "/";
                } else {
                    sec.onmouseover = function () {
                        this.style.textDecoration = "underline";
                        this.style.color = "blue";
                        this.style.fontWeight = "bold";
                        this.style.cursor = "pointer";
                        //this.setAttribute("style", "font-weight: bold;");
                    }
                    sec.onmouseout = function () {
                        this.style.textDecoration = "";
                    }
                    sec.onclick = function (event) {
                        if (event.button === 0) {
                                var vert=URLBarInput.value.split(this.value)[0] + this.value;
                                                    getBrowser (). loadURI(vert, {
                                                    triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
                                                                  });
                            //loadURI(URLBarInput.value.split(this.value)[0] + this.value);
                            while (this.nextSibling) {
                                this.nextSibling.parentNode.removeChild(this.nextSibling);
                            }
                            event.stopPropagation();
                        }
                    }
                    URLBarInput.style.display = "none";
                    locationBar.style.display = "";
                }
            })
        }, false);
    })();

Najlus пишет

Есть ли возможность редактировать контекстные меню, дабы убрать лишние пункты?

Опять же старая кнопка Menuitem hider - правой кнопкой на пункте меню скрывает пункты контекстные меню (скрытые пункты прописываются в инициализации)

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

Выделить код

Код:

/*Initialization Code*/
var ids = [
"#context-sendlinktodevice", /* Отправить ссылку на устройство*/
"#AMD-browse-goHome", /* Домашняя страница*/
"#context-sendpagetodevice", /* Отправить страницу на устройство*/
"#context-navigation", /* панель навигации*/
"#context-pocket", /* Сохранить страницу в Pocket*/
"#context-savelinktopocket", /* Сохранить ссылку в Pocket*/


]//menuitem hider mark

var button = this;
var currentImage = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7f//////////jY2N////////////////////////////////////////////////////////////hYWF7YWFhe3//////////42Njf///////////////////////////////////////////////////////////4WFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYX+hYWF7f//////////jY2N////////////////////////////////////////////////////////////hYWF7YWFhe3//////////42Njf///////////////////////////////////////////////////////////4WFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7f//////////jY2N////////////////////////////////////////////////////////////hYWF7YWFhe3//////////42Njf///////////////////////////////////////////////////////////4WFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7f//////////jY2N////////////////////////////////////////////////////////////hYWF7YWFhe3//////////42Njf///////////////////////////////////////////////////////////4WFhe2FhYX+hYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7f//////////jY2N////////////////////////////////////////////////////////////hYWF7YWFhe3//////////42Njf///////////////////////////////////////////////////////////4WFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXthYWF7YWFhe2FhYXtAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==";
var imgFalse = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fHz/fHx8/3t7e/97e3v/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/6Gkyf9HWOP/OEas//f3+v////////////////////////////////////////////Ly8///////fHx8/3x8fP9ueNT/Rlzs/x810P+/xe///////////////////////////////////////9fX3f+Mjbb//////3x8fP98fHz/V2HM/0FZ5P8xRt3/P02w/3d6jv6FhYX+hYWF/oWFhf6FhYX+hYWF/oWFhf5HSZH/T1B6/oWFhf58fHz/fHx8/5me8v80TN3/HDfd/ztIu//IzfL///////////////////////////+6u87/NULL/+Dg5P//////fHx8/3x8fP/o6PX/VGPS/xYy2P8aMMv/ra3A///////////////////////o6Or/NUjT/3uCvP///////////3x8fP98fHz/hYWF/nd4k/4xRtb/Ei7a/yQwpv9ycXT+hYWF/oWFhf6AgYP+OUOb/yE1yf95eXz+hYWF/oWFhf58fHz/fHx8////////////e36v/x820P8QLd7/VVur//T09P//////cXjC/xs27v+qrMj/////////////////fHx8/3x8fP///////////42Njf+7vfX/ITjT/x444P9dZLD/YWq3/xUy8/9lb8P//////////////////////3x8fP98fHz/hYWF/oWFhf6FhYX+hYWF/nl7oP4aLbj/DSbT/w4r4f8sOrP/e3uC/oWFhf6FhYX+hYWF/oWFhf58fHz/fHx8////////////jY2N//T09v+ho9X/FCzS/wki2/8DHNP/OknJ/8fN9v//////////////////////fHx8/3x8fP///////////2xtf/9dZ7//GDPk/wcn6/8vQtH/ZnDX/wke0f8+S7n/ys7n/////////////////3x8fP98fHz/dXV7/mNolP9reeT/VGr5/0BX9f8yRMn/cHGG/oWFhf5rb7L+KkPy/zE8of9mZnT+hYWF/oWFhf58fHz/e3t8/2Vy0P+JmPj/h5b6/3qK9v9/idz/3Nzl/////////////////9na+P+Ik/j/Y27S/5CSrP/y8vP/fHx8/3x8fP+WpPn/coPp/4OP3/+ws9f/9vb6////////////////////////////+fn9/8XH+P+Mk+//ZWmq/3t7e/98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==";

var s = 'custombutton.menuitem_hider.active';
cbu.isPref(s, true);

var ios = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsIIOService);
var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
var us = sss.USER_SHEET;

function makeCssURI() {
        cssStr = ids + " { display: none !important }"
        return ios.newURI("data:text/css," + encodeURIComponent(cssStr), null, null);
}
var currCssURI = makeCssURI();
if ( cbu.getPrefs(s) ) regSheet( currCssURI, true );

function regSheet(newCssURI, reg) {

    if (sss.sheetRegistered(currCssURI, us)) sss.unregisterSheet(currCssURI, us);
    if (!reg) return;
    if (!sss.sheetRegistered(newCssURI, us)) sss.loadAndRegisterSheet(newCssURI, us);
    currCssURI = newCssURI;
}
function onClick(e) {
    if (e.button != 1) return;
    var target = e.target;
    var nn = target.nodeName;
    if (nn != "menuitem" && nn != "menu" && nn != "menuseparator") return;
    var id = target.id;
    if (!id) return;
    var label = target.label || target.nodeName;

    var link = custombuttons.makeButtonLink("edit", button.id);
    var param = custombuttons.cbService.getButtonParameters(link);
    param = param.wrappedJSObject || param;
    var init = param.initCode;
    var index = init.indexOf("\n]//menuitem hider mark");
    var part1 = init.substring(0, index);
    var part2 = init.substring(index, init.length);
    param.initCode = part1 + '"#' + id + '", /* ' + label + '\*\/' + '\n' + part2;
    custombuttons.cbService.installButton(param);    
}
addEventListener("click", onClick, false);

this.onDestroy = function(reason) {
    removeEventListener("click", onClick, false);
    regSheet(currCssURI, false);
    if (reason == "delete") cbu.clearPrefs(s);
}
button.onclick = function(e) {
    if (e.button) return;
    cbu.setPrefs(s, !cbu.getPrefs(s));
        button.image = cbu.getPrefs(s) ? currentImage : imgFalse;
    cbu.getPrefs(s) ? button.init() : button.onDestroy();
    
}
button.image = cbu.getPrefs(s) ? currentImage : imgFalse;
if ( !cbu.getPrefs(s) ) button.onDestroy();

Najlus пишет

Подскажите какой нибудь аналог Paste e-mail plus (вставка через контекстное меню заранее заготовленного текста. Желательно с многоуровневым меню). Данный аддон зело глючен и работает не во всех текстовых полях.

Опять же не такой уж большой функционал, но кнопка с простой функцией - добавлять в меню кнопки пункты из скопированного текста (можно в справке самому править элементы меню)

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

Выделить код

Код:

/*Initialization Code*/

this.type != "menu" ? this.type = "menu" : (popup => {
    var inserter = {
        get docShell() {
            delete this.docShell;
            return this.docShell = "docShell" in document
                && document.docShell instanceof Ci.nsIDocShell
                ? document.docShell : window.docShell;
        },
        get insertText() {
            delete this.insertText;
            return this.insertText = text => {
                if (!this.docShell.isCommandEnabled("cmd_insertText")) return;
                var params = "createCommandParams" in Components.utils
                    ? Cu.createCommandParams()
                    : Components.classes["@mozilla.org/embedcomp/command-params;1"]
                        .createInstance(Components.interfaces.nsICommandParams);
                params.setStringValue("state_data", text);
                this.docShell.doCommandWithParams("cmd_insertText", params);
            }
        },
        insert(text) {
            var br = document.activeElement;
            !br || br.localName != "browser" || !br.isRemoteBrowser
            ? this.insertText(text) : br.messageManager.loadFrameScript(
                `data:,(${this.insertText})${encodeURIComponent(text.toSource())}`
            , false, true);
        }
    };
    this.onmousedown = e => {
        if (e.button) return;
        this.onmousedown = null;

        var data, save = () => {
            var link = custombuttons.makeButtonLink("update", _id);
            var params = custombuttons.cbService.getButtonParameters(link).wrappedJSObject;
            params.help = JSON.stringify(data, null, "\t");
            custombuttons.cbService.installButton(params.wrappedJSObject = params);
        }
        popup.setAttribute("context", "");
        popup.setAttribute("onpopupshowing", "firstChild.disabled = !gClipboard.read();");

        popup.add = () => save(data.push(gClipboard.read()));

        var menuitem = popup.appendChild(document.createElement("menuitem"));
        menuitem.setAttribute("label", "Добавить из буфера");
        menuitem.setAttribute("oncommand", "parentNode.add();");

        if (!(data = JSON.parse(this.Help || "[]")).length) return;

        popup.insert = ind => inserter.insert(data[ind]);
        popup.delete = ind => save(data.splice(ind, 1));

        var df = document.createDocumentFragment();
        df.append(document.createElement("menuseparator"));

        var menugroup = df.appendChild(document.createElement("menugroup"));
        menugroup.setAttribute("oncommand", "parentNode.insert(event.target.index);");
        menugroup.setAttribute("orient", "vertical");
        menugroup.setAttribute("context", "_child");

        var context = menugroup
            .appendChild(document.createElement("menupopup"))
            .appendChild(document.createElement("menuitem"));
        context.setAttribute("label", "Удалить элемент?");
        context.setAttribute("oncommand", "event.stopPropagation(); menupopup.delete(popupNode.index);");
        context.menupopup = popup;

        data.forEach((text, ind) => {
            var menuitem = menugroup.appendChild(document.createElement("menuitem"));
            menuitem.setAttribute("label", text.trimLeft().replace(/\s+/g, " ").slice(0, 70));
            menuitem.index = ind;
        });
        popup.append(df);
    }
})(this.appendChild(document.createElement("menupopup")));

Отредактировано Andrey_Krropotkin (23-02-2019 19:07:52)

Отсутствует

 

№2524-02-2019 13:03:50

Wave
Участник
 
Группа: Members
Зарегистрирован: 27-09-2007
Сообщений: 498
UA: Firefox 56.0

Re: Попытка перехода на современные версии Firefox

okkamas_knife пишет

не проще ли завести портабельную вверсию старого фф с мафф(или унмхт) и скрапбуком и назначить открытие тех файлов им?
и мусора от разархивации не будет оставаться.

А ещё проще завести старый браузер и не ставить нового.

Меня, если честно, квантум просто бесит тем, что помимо всех прочих его проблем ему для нормальной работы нужно доставлять питон, ноду, автохоткей, жопу с ручкой и прочее-прочее-прочее. С новой системой безопасности они вместе с водой выплеснули ребёнка.

P.s. Посмотрел свежую статистику браузеров. У фаерфокса уже осталось меньше десяти процентов. Как долго он ещё протянет, прежде чем перейти на хромиум?

Отсутствует

 

Board footer

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