>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >[CB]Автоматически открывать контекстное меню на странице http://forum.mozilla-russia.org/viewtopic.php?id=68768 |
bunda1 > 17-11-2015 13:18:02 |
Автоматически открывать контекстное меню на странице( Firefox 24-48 ) Клики на кнопке: Код кнопки: Выделить код Код: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. Потом открываем настройку панелей инструментов, перетаскиваем кнопку в нужное место на панели и начинаем пользоваться кнопкой. |
villa7 > 17-11-2015 13:57:47 |
Вот честно, никогда не понимал логики, ведь если человек выделяет что то на странице, значит с этим нужно что то дальше делать, то бишь вызывать контекстное меню по ПКМ, так почему бы не сразу по выделению? Лет 5 пользовался скриптом, недавно перешёл на твою кнопку, тем более что её можно быстро отключить когда вдруг необходимо. А когда привыкнешь к автомату, то без этого как то уже не уютно. Спасибо за кнопку! |
jars > 17-11-2015 13:59:52 |
Ыыыы.. Класс! не хватало этой штуки-палезняшки. WXP PaleMoon-x86 всё норм. работает. |
Infocatcher > 17-11-2015 16:35:03 |
villa7 пишет
Выделенное можно перетаскивать, копировать с клавиатуры или вовсе помечать так позицию, где читаешь. |
xrun1 > 29-01-2016 16:09:09 |
А кнопка у меня не работает. Проверял также и на чистом профиле. |
bunda1 > 29-01-2016 16:45:07 |
xrun1 пишет
А на ком панели ты разместил кнопку? |
xrun1 > 29-01-2016 17:02:51 |
bunda1 |
bunda1 > 29-01-2016 17:29:01 |
В включенном состоянии кнопка должна выглядеть вот так: |
xrun1 > 29-01-2016 23:36:25 |
bunda1 |
broker > 17-08-2016 04:34:23 |
На 48 лисе кнопка не работает как надо, после перезагрузки браузера она опять не активна. На 45 нет таких проблем посмотрите пожалуйста. |
bunda1 > 18-08-2016 20:26:34 |
broker пишет
Вроде исправил Автоматически открывать контекстное меню на странице |
broker > 18-08-2016 20:39:28 |
bunda1 |
god_05 > 29-06-2017 05:11:12 |
Вещь! |