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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.
  • Форумы
  •  » Сustom Buttons
  •  » [CB]Автоматически открывать контекстное меню на странице

№117-11-2015 13:18:02

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

[CB]Автоматически открывать контекстное меню на странице

Автоматически открывать контекстное меню на странице( Firefox 24-48 )
Автор: bunda1
Версия: от 18.08.2016.
Описание: кнопка автоматически открывает контекстное меню на странице при выделении текста, ссылки и других элементов на странице.

Клики на кнопке:
ЛКМ => Выключить или включить авто открывание контекстное меню.

Код кнопки:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0410%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0438%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0435%20%u043C%u0435%u043D%u044E%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA/0lEQVQ4jZ3QzWrCQBQF4DyUwWA0xTBICAMSJNQKEpCABCHFKgNh/AlNcJiCD9DXmBc8XUh7F+3m9sLZ3MXH4XgAcP+4/8QaC2ssbr1B/96jazu05xYXfYFuNBrVQB0VDvsDAMD7BrhX72o45x6ANfbx9bzf+fwjAKptRcCtN2yg3JQEdG3HBop1QcD1dGVvsFquCNCNZjfIFzkB6qjYQDbPCNi/vrEBmUoC6l3N3iCZJQRU24rdQMSCgHJTsoFoEhFQrAs2EI5CApbPL+wNgmFAQL7Ikc0zyFRCphLJLIGIBUQsMH2aIppEGIdjhKMQwTCAP/DhD3wCAMA59698AWIK50BNkg5CAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis._handleClick%20%3D%28%29%3D%3E%20cbu.setPrefs%28s%2C%20%21cbu.getPrefs%28s%29%29%3B%0A%0Avar%20s%20%3D%20%27CB.autoContextMenu%27%3B%0Acbu.isPref%28s%2C%20true%29%3B%0A%0AtoggleImage%28%29%3B%0Afunction%20toggleImage%28%29%20setTimeout%28%28%29%3D%3E%20self.checked%20%3D%20cbu.getPrefs%28s%29%2C%200%29%3B%20%20%20%20%20%20%20%20%20%20%20%0AgPrefService.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20gPrefService.removeObserver%28s%2C%20toggleImage%29%20%29%3B%0A%0Afunction%20autoContextMenu%28e%29%20%7B%0A%20%20%20if%20%28%0A%20%20%20%20%20%20%20e.button%0A%20%20%20%20%20%20%20%7C%7C%20%21cbu.getPrefs%28s%29%0A%20%20%20%20%20%20%20%7C%7C%20gBrowser.currentURI.spec.startsWith%28%22about%3Astylish-edit%22%29%0A%20%20%20%20%20%20%20%7C%7C%20document.commandDispatcher.focusedWindow.getSelection%28%29.isCollapsed%0A%20%20%20%20%20%20%29%20return%3B%0A%20%20%20%20%0A%20%20%20var%20mouseEvent%20%3D%20document.createEvent%28%27MouseEvents%27%29%3B%0A%20%20%20mouseEvent.initMouseEvent%28%27contextmenu%27%2C%201%2C%201%2C%20window%2C%201%2C%20e.screenX%2C%20e.screenY%2C%20e.clientX%2C%20e.clientY%2C%200%2C%200%2C%200%2C%200%2C%202%2C%20null%29%3B%0A%20%20%20e.target.dispatchEvent%28mouseEvent%29%3B%0A%7D%3B%0AaddEventListener%28%27mouseup%27%2C%20autoContextMenu%2C%20false%2C%20gBrowser%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Код инициализации:

Выделить код

Код:

this._handleClick =()=> cbu.setPrefs(s, !cbu.getPrefs(s));

var s = 'CB.autoContextMenu';
cbu.isPref(s, true);

toggleImage();
function toggleImage() setTimeout(()=> self.checked = cbu.getPrefs(s), 0);           
gPrefService.addObserver(s, toggleImage, false);
addDestructor(()=> gPrefService.removeObserver(s, toggleImage) );

function autoContextMenu(e) {
   if (
       e.button
       || !cbu.getPrefs(s)
       || gBrowser.currentURI.spec.startsWith("about:stylish-edit")
       || document.commandDispatcher.focusedWindow.getSelection().isCollapsed
      ) return;
    
   var mouseEvent = document.createEvent('MouseEvents');
   mouseEvent.initMouseEvent('contextmenu', 1, 1, window, 1, e.screenX, e.screenY, e.clientX, e.clientY, 0, 0, 0, 0, 2, null);
   e.target.dispatchEvent(mouseEvent);
};
addEventListener('mouseup', autoContextMenu, false, gBrowser);

Установка кнопки: устанавливаем расширение Сustom Buttons, копируем в адресную строку браузера код кнопки и жмём перейти в адресной строке. Откроется окно диалога добавления кнопки, нажимаем Ok, потом откроется сообщение о успешном создании кнопки, опять нажимаем Ok. Потом открываем настройку панелей инструментов, перетаскиваем кнопку в нужное место на панели и начинаем пользоваться кнопкой.

Отсутствует

 

№217-11-2015 13:57:47

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 42.0

Re: [CB]Автоматически открывать контекстное меню на странице

Вот честно, никогда не понимал логики, ведь если человек выделяет что то на странице, значит с этим нужно что то дальше делать, то бишь вызывать контекстное меню по ПКМ, так почему бы не сразу по выделению? Лет 5 пользовался скриптом, недавно перешёл на твою кнопку, тем более что её можно быстро отключить когда вдруг необходимо. А когда привыкнешь к автомату, то без этого как то уже не уютно. Спасибо за кнопку!


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№317-11-2015 13:59:52

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: [CB]Автоматически открывать контекстное меню на странице

Ыыыы.. Класс! не хватало этой штуки-палезняшки. WXP PaleMoon-x86 всё норм. работает.
Благодарю!  good2.gif

Отсутствует

 

№417-11-2015 16:35:03

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 42.0

Re: [CB]Автоматически открывать контекстное меню на странице

villa7 пишет

Вот честно, никогда не понимал логики, ведь если человек выделяет что то на странице, значит с этим нужно что то дальше делать, то бишь вызывать контекстное меню по ПКМ, так почему бы не сразу по выделению?

Выделенное можно перетаскивать, копировать с клавиатуры или вовсе помечать так позицию, где читаешь. :D
Но это все так, дело вкуса, конечно. :)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№529-01-2016 16:09:09

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1227
UA: Firefox 44.0

Re: [CB]Автоматически открывать контекстное меню на странице

А кнопка у меня не работает. Проверял также и на чистом профиле.
[firefox] 44, Custom Buttons 0.0.5.8.1, пролеченный отсюда.

Отсутствует

 

№629-01-2016 16:45:07

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Автоматически открывать контекстное меню на странице

xrun1 пишет

А кнопка у меня не работает. Проверял также и на чистом профиле.
[firefox] 44, Custom Buttons 0.0.5.8.1, пролеченный отсюда.

А на ком панели ты разместил кнопку?

Отсутствует

 

№729-01-2016 17:02:51

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1227
UA: Firefox 44.0

Re: [CB]Автоматически открывать контекстное меню на странице

bunda1
Да, вытащил на панель. Я так понимаю, кнопка должна менять яркость при вкл/выкл. У меня при нажатии на кнопку ничего не происходит.

Отсутствует

 

№829-01-2016 17:29:01

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Автоматически открывать контекстное меню на странице

В включенном состоянии кнопка должна выглядеть вот так:
45902ecb500c53531c99a5801e0ca5d5.png

Отсутствует

 

№929-01-2016 23:36:25

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1227
UA: Firefox 44.0

Re: [CB]Автоматически открывать контекстное меню на странице

bunda1
Кнопка работает с 0.0.5.9pre1-20140622.zip и не работает с 0.0.5.8-tb+fx+sm.zip отсюда. Проверял на чистом профиле.

Отсутствует

 

№1017-08-2016 04:34:23

broker
Участник
 
Группа: Members
Зарегистрирован: 23-06-2015
Сообщений: 103
UA: unknown 0.0

Re: [CB]Автоматически открывать контекстное меню на странице

На 48 лисе кнопка не работает как надо, после перезагрузки браузера она опять не активна. На 45 нет таких проблем посмотрите пожалуйста.

Отсутствует

 

№1118-08-2016 20:26:34

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Автоматически открывать контекстное меню на странице

broker пишет

На 48 лисе кнопка не работает как надо, после перезагрузки браузера она опять не активна. На 45 нет таких проблем посмотрите пожалуйста.

Вроде исправил Автоматически открывать контекстное меню на странице

Отсутствует

 

№1218-08-2016 20:39:28

broker
Участник
 
Группа: Members
Зарегистрирован: 23-06-2015
Сообщений: 103
UA: unknown 0.0

Re: [CB]Автоматически открывать контекстное меню на странице

bunda1
Работает :music: спасибо.

Отсутствует

 

№1329-06-2017 05:11:12

god_05
Участник
 
Группа: Members
Зарегистрирован: 15-02-2014
Сообщений: 135
UA: Firefox 52.0

Re: [CB]Автоматически открывать контекстное меню на странице

Вещь!
Заменил отвалившийся selectionSK. ([firefox]52)
Благодарю!

Отсутствует

 
  • Форумы
  •  » Сustom Buttons
  •  » [CB]Автоматически открывать контекстное меню на странице

Board footer

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