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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№960111-02-2016 08:10:58

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

Re: Custom Buttons

tom911 пишет

bunda1
Шикарно, только бы прикрутить еще иконку к этому пункту меню:)

Выделить код

Код:

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%3ETranslate%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20Translate%20%u043E%u0442%2010.02.2017.%20...............%0A%0A%0A//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............%0Athis.onclick%20%3De%3D%3E%20%7B%0A%20%20%20%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20var%20sel%20%3D%20getSelect%28%29%3B%0A%20%20%20%20%20%20%20%20%20sel%20%3F%20translateText%28sel%29%20%3A%20translatePage%28%29%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%0A%20%20%20%20%20%20%20%20%20translateText%28gClipboard.read%28%29%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20menu.showPopup%28self%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%20%0A%7D%3B%0A%0A%0Avar%20background%20%3D%20%27none%27%2C%20fontSize%20%3D%20%27medium%27%3B%20//%20%u0444%u043E%u043D%20%u0438%20%u0440%u0430%u0437%u043C%u0435%u0440%20%u0448%u0440%u0438%u0444%u0442%u0430%20%u043E%u043A%u043E%u0448%u043A%u0430%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%0Avar%20winWidth%20%3D%200.4%2C%20winHeight%20%3D%200.4%3B%20%20%20%20%20%20%20%20%20%20//%20%u0448%u0438%u0440%u0438%u043D%u0430%20%u0438%20%u0432%u044B%u0441%u043E%u0442%u0430%20%u043E%u043A%u043E%u0448%u043A%u0430%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%20%u043E%u0442%u043D%u043E%u0441%u0438%u0442%u0435%u043B%u044C%u043D%u043E%20%u0440%u0430%u0437%u043C%u0435%u0440%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20...............%0Avar%20array%20%3D%20%5B%20%20%20%20%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u043C%u0430%u043B%u0435%u043D%u044C%u043A%u043E%u043C%20%u043E%u043A%u043E%u0448%u043A%u0435%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.textInPopup%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u0434%u0432%u043E%u0439%u043D%u044B%u043C%20%u043F%u0440%u0430%u0432%u044B%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.textWithDoubleRightClick%27%20%7D%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%u0441%u0440%u0430%u0437%u0443%20%u0441%u043F%u0440%u0430%u0432%u0430%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.nextPage%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0438%u0437%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.textFromContextMenu%27%20%7D%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%7B%20separator%3A%20%27%27%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u0423%u0434%u0430%u043B%u044F%u0442%u044C%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0438%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0430%u0445%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.noTooltipForTranslate%27%2C%20func%3A%20%27%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u0423%u0434%u0430%u043B%u044F%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0443%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u044F%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Googl%u0435%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.removeGoogleTranslatorHeader%27%2C%20func%3A%20%27%27%20%7D%2C%0A%20%20%20%20%7B%20separator%3A%20%27%27%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0432%20%u043E%u0431%u044B%u0447%u043D%u043E%u043C%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Google%22%2C%20radio%3A%20%27%27%2C%20value%3A%20%27google%27%20%7D%2C%20%20%20%20%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Google%22%2C%20radio%3A%20%27%27%2C%20value%3A%20%27googleBookmarklet%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Microsoft%22%2C%20radio%3A%20%27%27%2C%20value%3A%20%27microsoftBookmarklet%27%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0Avar%20menu%20%3D%20self.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%20%20%0Aarray.forEach%28%28m%29%3D%3E%20%7B%0A%20%20%20if%20%28%20%22separator%22%20in%20m%20%29%20%7B%20menu.appendChild%28%20document.createElement%28%22menuseparator%22%29%20%29%3B%20return%20%7D%3B%0A%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20%0A%20%20%20if%20%28%20%22radio%22%20in%20m%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20mItem.setAttribute%28%22type%22%2C%20%22radio%22%29%3B%0A%20%20%20%20%20%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28%22Translate.pageIn%22%29%20%3D%3D%20m.value%20%29%3B%0A%20%20%20%20%20%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20cbu.setPrefs%28%22Translate.pageIn%22%2C%20m.value%29%3B%20%20%0A%20%20%20%20%20%20%20%20%7D%20%20%0A%20%20%20if%20%28%20%22checkbox%22%20in%20m%20%29%20%7B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20%20%20%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28m.value%29%20%29%3B%0A%20%20%20%20%20%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20cbu.setPrefs%28m.value%2C%20%21cbu.getPrefs%28m.value%29%29%3B%20%20%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20if%20%28%20%22func%22%20in%20m%20%29%20mItem.addEventListener%28%22command%22%2C%20%28%29%3D%3E%20toggleGoogleTranslatorStyle%28%29%29%3B%0A%20%20%20%20%20%20%20%0A%20%20%20menu.appendChild%28mItem%29%3B%0A%7D%29%3B%0Amenu.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%u043B%u0438%20false%20...............%0Afunction%20getSelect%28%29%20%7B%0A%20%20%20var%20el%20%3D%20document.commandDispatcher.focusedElement%3B%0A%20%20%20try%20%7B%20return%20el.value.substring%28el.selectionStart%2C%20el.selectionEnd%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%20%20%20var%20sel%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29%3B%0A%20%20%20return%20%28sel%20%3D%3D%20%27%27%29%20%3F%20false%20%3A%20sel.toString%28%29%3B%0A%7D%3B%0A%0A%0A//%20%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0443%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u044F%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Googl%u0435%20%u0438%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0438%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0430%u0445%20...............%0Afunction%20toggleGoogleTranslatorStyle%28arg%29%20%7B%0A%20%20%20var%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0A%20%20%20try%20%7B%20sss.unregisterSheet%28%20self.uri%2C%200%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%20%20%20%0A%20%20%20if%20%28%20cbu.getPrefs%28%22Translate.removeGoogleTranslatorHeader%22%29%20%29%20%7B%20%20//%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0443%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u044F%0A%20%20%20%20%20%20%20%20var%20removeHeader%20%3D%20%27%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20domain%28%22translate.google.com%22%29%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23gb%2C%20%23gt-bbar%2C%20%23gt-c%3Anot%28%5Bclass%3D%22g-section%22%5D%29%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23contentframe%20%7B%20top%3A%200%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%27%3B%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%0A%20%20%20if%20%28%20cbu.getPrefs%28%22Translate.noTooltipForTranslate%22%29%20%29%20%7B%20%20//%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0438%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0430%u0445%0A%20%20%20%20%20%20%20%20var%20noPopup%20%3D%20%27%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20/*Microsoft*/%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20DIV%5Btranslate%3D%22no%22%5D%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20*%5Blang%3D%22ru%22%5D%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20black%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20transparent%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20/*Google*/%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20domain%28%22translate.google.com%22%29%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.jfk-tooltip%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20regexp%28%22%5Ehttps%3F%3A//translate%5C.google%5C..*%22%29%20%7B/**/%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20domain%28%22translate.googleusercontent.com%22%29%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20span%5Bonmouseout%5D%5Bonmouseover%5D%5Bstyle%5D%20%7B%20background-color%3A%20transparent%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20.gmnoprint%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20.goog-text-highlight%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20transparent%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20border%3A%20none%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%20none%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20.goog-tooltip.skiptranslate%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%27%3B%0A%20%20%20%20%20%20%20%20%7D%20%20%20%0A%20%20%20self.css%20%3D%20removeHeader%20+%20noPopup%3B%0A%0A%20%20%20if%20%28%20%21%21self.css%20%29%20%7B%0A%20%20%20%20%20%20%20%20self.uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28self.css%29%29%3B%0A%20%20%20%20%20%20%20%20sss.loadAndRegisterSheet%28self.uri%2C%200%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%20%20%20arg%20%26%26%20addDestructor%28%28%29%3D%3E%20sss.unregisterSheet%28self.uri%2C%200%29%20%29%3B%20%20%0A%7D%3B%0AtoggleGoogleTranslatorStyle%28true%29%3B%20%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20...............%20%20%20%0Afunction%20translatePage%28%29%20%7B%0A%20%20%20var%20translator%20%3D%20cbu.getPrefs%28%22Translate.pageIn%22%29%3B%0A%20%20%20%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0432%20%u043E%u0431%u044B%u0447%u043D%u043E%u043C%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Google%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0430%u043A%u0442%u0438%u0432%u043D%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%u0438%u043B%u0438%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%0A%20%20%20if%20%28%20translator%20%3D%3D%20%22google%22%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20url%20%3D%20%22http%3A//translate.google.com/translate%3Fu%3D%22%20+%20content.location%20+%20%22%26hl%3Dru%26ie%3DUTF-8%26sl%3Dauto%26tl%3Dru%22%3B%0A%20%20%20%20%20%20%20%20cbu.getPrefs%28%22Translate.nextPage%22%29%0A%20%20%20%20%20%20%20%20%3F%20gBrowser.moveTabTo%28gBrowser.selectedTab%20%3D%20gBrowser.addTab%28url%29%2C%20gBrowser.mCurrentTab._tPos%20+%201%29%0A%20%20%20%20%20%20%20%20%3A%20loadURI%28url%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%20%0A%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Microsoft%20%u0438%u043B%u0438%20Google%20%0A%20%20%20if%20%28%20cbu.getPrefs%28%22Translate.nextPage%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20gBrowser.getBrowserForTab%28gBrowser.selectedTab%20%3D%20gBrowser.duplicateTab%28gBrowser.mCurrentTab%29%29%0A%20%20%20%20%20%20%20%20%20%20%20.addEventListener%28%22pageshow%22%2C%20function%20c%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.removeEventListener%28e.type%2C%20c%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20runBukmarklet%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%7D%20%20%20%20%0A%20%20%20else%20runBukmarklet%28%29%3B%0A%20%20%20%0A%20%20%20//%20%u0437%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u0431%u0443%u043A%u043C%u0430%u0440%u043A%u043B%u0435%u0442%20%u0434%u043B%u044F%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%0A%20%20%20function%20runBukmarklet%28%29%20%7B%0A%20%20%20%20%20%20cbu.setPrefs%28%22security.mixed_content.block_active_content%22%2C%20false%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20content.document.location%20%3D%20%28translator%20%3D%3D%20%22microsoftBookmarklet%22%29%0A%20%20%20%20%20%20%3F%20%22javascript%3Avar%20s%20%3D%20content.document.createElement%28%27script%27%29%3B%20s.type%20%3D%20%27text/javascript%27%3B%20s.src%20%3D%20%27http%3A//labs.microsofttranslator.com/bookmarklet/default.aspx%3Ff%3Djs%26to%3Dru%27%3B%20content.document.body.insertBefore%28s%2C%20document.body.firstChild%29%3B%20void%280%29%3B%22%20%0A%20%20%20%20%20%20%3A%20%22javascript%3A%7Bvar%20d%3Ddocument%3B%20var%20b%3Dd.body%3B%20var%20o%3Dd.createElement%28%27script%27%29%3Bo.setAttribute%28%27src%27%2C%27http%3A//translate.google.com/translate_a/element.js%3Fcb%3DgoogleTranslateElementInit%26hl%3Dru%27%29%3Bo.setAttribute%28%27type%27%2C%27text/javascript%27%29%3Bb.appendChild%28o%29%3B%20var%20v%3Db.insertBefore%28d.createElement%28%27div%27%29%2Cb.firstChild%29%3Bv.id%3D%27google_translate_element%27%3Bv.style.display%3D%27none%27%3B%20var%20p%3Dd.createElement%28%27scri%27+%27pt%27%29%3Bp.text%3D%27function%2520googleTranslateElementInit%28%29%7Bvar%2520tElem%2520%3D%2520new%2520google.translate.TranslateElement%28%7BpageLanguage%3A%2522%2522%7D%2C%2522google_translate_element%2522%29%3BsetTimeout%28function%28%29%2520%7B%2520tElem.showBanner%28true%29%3B%2520%7D%2C100%29%3B%7D%27%3Bp.setAttribute%28%27type%27%2C%27text/javascript%27%29%3Bb.appendChild%28p%29%3B%7Dvoid%25200%22%0A%20%20%20%7D%20%0A%7D%3B%0A%0A%0A//%20%u041E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%20%u0441%u043B%u0435%u0434%u0438%u0442%20%u0437%u0430%20%u0434%u0432%u043E%u0439%u043D%u044B%u043C%20%u043F%u0440%u0430%u0432%u044B%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u043C%u044B%u0448%u0438%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0438%20%u0437%u0430%u043F%u0443%u0441%u043A%u0430%u0435%u0442%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20...............%0AaddEventListener%28%22dblclick%22%2C%20e%3D%3E%20%7B%0A%20%20%20if%20%28%20e.button%20%26%26%20cbu.getPrefs%28%22Translate.textWithDoubleRightClick%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%3B%0A%0A%20%20%20%20%20%20%20%20translateText%28getSelect%28%29%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%2C%20false%2C%20gBrowser%20%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0438%u0437%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%20...............%20%20%20%0Avar%20contextMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%0Avar%20mItem%20%3D%20contextMenu.insertBefore%28document.createElement%28%22menuitem%22%29%2C%20contextMenu.children%5B1%5D%29%3B%0AmItem.setAttribute%28%22label%22%2C%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%22%29%3B%0AmItem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%0AmItem.setAttribute%28%22image%22%2C%20self.image%29%3B%0AmItem.onclick%20%3D%28%29%3D%3E%20translateText%28getSelect%28%29%29%3B%0AaddEventListener%28%22popupshowing%22%2C%20%28%29%3D%3E%20%7B%0A%20%20%20mItem.hidden%20%3D%20%21cbu.getPrefs%28%22Translate.textFromContextMenu%22%29%20%7C%7C%20%21gContextMenu.isTextSelected%3B%20%0A%7D%2C%20false%2C%20contextMenu%20%29%3B%0AaddDestructor%28%28%29%3D%3E%20mItem.remove%28%29%20%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u0432%u0435%u0441%u0442%u0438%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20Google%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%u0441%u0440%u0430%u0437%u0443%20%u0441%u043F%u0440%u0430%u0432%u0430%20%u0438%u043B%u0438%20%u0432%20%u043C%u0430%u043B%u0435%u043D%u044C%u043A%u043E%u043C%20%u043E%u043A%u043E%u0448%u043A%u0435%20...............%0Afunction%20translateText%28text%2C%20clipboard%29%20%7B%0A%20%20%20if%20%28%20text%20%3D%3D%20false%20%29%20return%3B%0A%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%20Google%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20%u0442%u0435%u043A%u0441%u0442%u0430%0A%20%20%20if%20%28%20%21cbu.getPrefs%28%22Translate.textInPopup%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20url%20%3D%20%22http%3A//translate.google.com/translate_t%3Fhl%3Dru%23auto%7Cru%7C%22%20+%20text%3B%0A%20%20%20%20%20%20%20%20gBrowser.moveTabTo%28gBrowser.selectedTab%20%3D%20gBrowser.addTab%28url%29%2C%20gBrowser.mCurrentTab._tPos%20+%201%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20var%20beg%20%3D%20%22http%3A//translate.google.com/translate_t%3Fprev%3Dhp%26hl%3Dru%26js%3Dy%26text%3D%22%3B%0A%20%20%20var%20end%20%3D%20%22%26file%3D%26sl%3Dauto%26tl%3Dru%26history_state0%3D%23%22%3B%0A%20%20%20var%20url%20%3D%20beg%20+%20text%20+%20end%3B%0A%20%20%20%20%0A%20%20%20var%20req%20%3D%20new%20XMLHttpRequest%28%29%3B%0A%20%20%20req.open%28%22GET%22%2C%20url%2C%20true%29%3B%0A%20%20%20%0A%20%20%20req.onload%20%3D%28%29%3D%3E%20%7B%0A%20%20%20%20%20%20%20var%20res%20%3D%20req.responseText%3B%0A%20%20%20%20%20%20%20var%20suHTML%20%3D%20Cc%5B%22@mozilla.org/feed-unescapehtml%3B1%22%5D.getService%28Ci.nsIScriptableUnescapeHTML%29%3B%0A%20%20%20%20%20%20%20var%20doc%20%3D%20document.implementation.createHTMLDocument%28%22%22%29%3B%0A%20%20%20%20%20%20%20doc.body.appendChild%28suHTML.parseFragment%28res%2C%20false%2C%20null%2C%20doc.body%29%29%3B%0A%0A%20%20%20%20%20%20%20var%20ruHTML%20%3D%20doc.getElementById%28%22result_box%22%29.innerHTML%3B%0A%20%20%20%20%20%20%20var%20dataURL%20%3D%20%27data%3Atext/html%3Bcharset%3Dutf-8%2C%20%3Chtml%20contenteditable/%3E%3Ctitle%3ETranslate%3C/title%3E%27%0A%20%20%20%20%20%20%20dataURL%20+%3D%20%27%3Cstyle%3Ebody%20%7B%20background-color%3A%20%27+%20background%20+%27%3B%20font-size%3A%20%27+%20fontSize%20+%27%20%7D%3C/style%3E%27%3B%0A%20%20%20%20%20%20%20dataURL%20+%3D%20ruHTML%20+%20%27%3C/body%3E%3C/html%3E%27%3B%0A%0A%20%20%20%20%20%20%20var%20width%20%3D%20%280%29%20%7C%7C%20winWidth%20*%20gBrowser.boxObject.width%3B%20%0A%20%20%20%20%20%20%20var%20height%20%3D%20%280%29%20%7C%7C%20winHeight%20*%20gBrowser.boxObject.height%3B%20%0A%0A%20%20%20%20%20%20%20var%20fWin%20%3D%20document.commandDispatcher.focusedWindow%3B%0A%0A%20%20%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%20%u043A%u043E%u043E%u0440%u0434%u0438%u043D%u0430%u0442%u044B%20%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%u043B%u0438%20%u0443%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%0A%20%20%20%20%20%20%20var%20bcr%20%3D%20clipboard%20%26%26%20cbu.getPrefs%28%22Translate.textInPopup%22%29%0A%20%20%20%20%20%20%20%3F%20self.getBoundingClientRect%28%29%20%0A%20%20%20%20%20%20%20%3A%20fWin.getSelection%28%29.getRangeAt%280%29.getBoundingClientRect%28%29%3B%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20var%20posX%20%3D%20fWin.mozInnerScreenX%20+%20bcr.left%3B%0A%20%20%20%20%20%20%20var%20posY%20%3D%20fWin.mozInnerScreenY%20+%20bcr.bottom%20+%203%3B%0A%0A%20%20%20%20%20%20%20var%20deltaX%20%3D%20posX%20+%20width%20-%20%28fullScreen%20%3F%20screen.width%20%3A%20screen.availWidth%29%3B%0A%20%20%20%20%20%20%20if%20%28deltaX%20%3E%200%29%20posX%20-%3D%20deltaX%3B%0A%20%20%20%20%20%20%20var%20deltaY%20%3D%20posY%20+%20height%20-%20%28fullScreen%20%3F%20screen.height%20%3A%20screen.availHeight%29%3B%0A%20%20%20%20%20%20%20if%20%28deltaY%20%3E%200%29%20posY%20-%3D%20deltaY%3B%0A%0A%20%20%20%20%20%20%20var%20win%20%3D%20window.open%28dataURL%2C%20%22%22%2C%20%22outerWidth%3D%22+width+%22%2C%20outerHeight%3D%22+height+%22%2C%20screenX%3D%22+posX+%22%2C%20screenY%3D%22+posY+%22%2C%20status%3Dno%2C%20scrollbars%3Dyes%2C%20resizable%3Dyes%22%29%3B%0A%20%20%20%20%20%20%20win.focus%28%29%3B%0A%0A%20%20%20%20%20%20%20//%20%u0437%u0430%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u043E%u043A%u043E%u0448%u043A%u043E%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20gBrowser.addEventListener%28%22click%22%2C%20function%20c%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeEventListener%28%22click%22%2C%20c%29%3B%0A%20%20%20%20%20%20%20%20%20%20try%20%7B%20win.close%28%29%20%7D%20catch%28e%29%20%7B%20return%20%7D%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%7D%3B%0A%20%20%20req.channel.loadFlags%20%7C%3D%20req.channel.LOAD_FROM_CACHE%3B%20//%20if%20possible%0A%20%20%20req.send%28null%29%0A%7D%3B%0A%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............%0Athis.tooltipText%20%3D%20%22Translate%20%5Cn%u041B%3A%20%u041F%u0435%u0440%u0435%u0432%u0435%u0441%u0442%u0438%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0443%20/%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%5Cn%u0421%3A%20%u041F%u0435%u0440%u0435%u0432%u0435%u0441%u0442%u0438%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%20%5Cn%u041F%3A%20%u041C%u0435%u043D%u044E%20%5Cn%u0414%u041F%3A%20CB%20%u043C%u0435%u043D%u044E%22%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

Отсутствует

 

№960211-02-2016 10:21:01

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

Re: Custom Buttons

Как обратить порядок вкладок, их расположение. Т.е. есть кнопка:
Init

Выделить код

Код:

this.onclick = function(e) {
     if ( e.button == 0 ) gBrowser.visibleTabs.forEach(function(tab) gBrowser.pinTab(tab) );  // Закрепить все вкладки
     if ( e.button == 1 ) custombuttons.editButton(this);                                                     // gShowPopup(this);
     if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey ) {
          e.preventDefault ();
          gBrowser.visibleTabs.forEach(function(tab) gBrowser.unpinTab(tab) );                     // открепить все вкладки
          }
  };

... при действии "открепить" - порядок вкладок разворачивается(т.е. первая становится последней, вторая - предпоследней и т.д.). Щас делаю дважды(открепить-закрепить-опять открепить), для того чтоб вернуть порядок расположения, подскажите ф-цию кот-я разворачивает порядок вкладок :sick:

Отсутствует

 

№960311-02-2016 10:53:52

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 28.0
Веб-сайт

Re: Custom Buttons

jars пишет

Как обратить порядок вкладок, их расположение. Т.е. есть кнопка:
Init

Выделить код

Код:

this.onclick = function(e) {
     if ( e.button == 0 ) gBrowser.visibleTabs.forEach(function(tab) gBrowser.pinTab(tab) );  // Закрепить все вкладки
     if ( e.button == 1 ) custombuttons.editButton(this);                                                     // gShowPopup(this);
     if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey ) {
          e.preventDefault ();
          gBrowser.visibleTabs.forEach(function(tab) gBrowser.unpinTab(tab) );                     // открепить все вкладки
          }
  };

... при действии "открепить" - порядок вкладок разворачивается(т.е. первая становится последней, вторая - предпоследней и т.д.). Щас делаю дважды(открепить-закрепить-опять открепить), для того чтоб вернуть порядок расположения, подскажите ф-цию кот-я разворачивает порядок вкладок :sick:

А если вместо forEach

Выделить код

Код:

for (i=<последний индекс>, i>=0,i--){...}

То есть перечислять табы в реверсном порядке?


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№960411-02-2016 10:59:47

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

Re: Custom Buttons

emlen пишет

bunda1, помогите пожалуйста с удалением истории.

Удалить историю с определённым доменом? Удалять из кнопки или как?

Добавлено 11-02-2016 11:19:55

jars пишет

Как обратить порядок вкладок, их расположение. Т.е. есть кнопка:

Выделить код

Код:

this.onclick =e=> {
   if ( e.button == 0 ) gBrowser.visibleTabs.forEach((tab)=> gBrowser.pinTab(tab) );                  // Закрепить все вкладки
   if ( e.button == 1 ) custombuttons.editButton(this);                                               // gShowPopup(this); 
   if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey ) {
        e.preventDefault();
        gBrowser.visibleTabs.forEach((t, i, arr)=> gBrowser.unpinTab(arr[arr.length-(i+1)]) );      // открепить все вкладки
        }
};

Отредактировано bunda1 (11-02-2016 11:19:55)

Отсутствует

 

№960511-02-2016 12:05:26

emlen
Участник
 
Группа: Members
Зарегистрирован: 22-05-2015
Сообщений: 201
UA: Firefox 36.0

Re: Custom Buttons

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


SeaMonkey 2.39 forever

Отсутствует

 

№960611-02-2016 12:18:33

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

Re: Custom Buttons

Да, благодарю difabor , bunda1. А я в сторону _tpos смотрел. короче не в ту сторону, хехе...  :dumb:

Отсутствует

 

№960711-02-2016 13:50:51

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 28.0
Веб-сайт

Re: Custom Buttons

bunda1 пишет
emlen пишет

bunda1, помогите пожалуйста с удалением истории.

Удалить историю с определённым доменом? Удалять из кнопки или как?

Добавлено 11-02-2016 11:19:55

jars пишет

Как обратить порядок вкладок, их расположение. Т.е. есть кнопка:

Выделить код

Код:

this.onclick =e=> {
   if ( e.button == 0 ) gBrowser.visibleTabs.forEach((tab)=> gBrowser.pinTab(tab) );                  // Закрепить все вкладки
   if ( e.button == 1 ) custombuttons.editButton(this);                                               // gShowPopup(this); 
   if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey ) {
        e.preventDefault();
        gBrowser.visibleTabs.forEach((t, i, arr)=> gBrowser.unpinTab(arr[arr.length-(i+1)]) );      // открепить все вкладки
        }
};

Уважаемый bunda1, просветите тупого :(
В Вашем коде:

Выделить код

Код:

gBrowser.visibleTabs.forEach((t, i, arr)=> gBrowser.unpinTab(arr[arr.length-(i+1)]) );

само t нигде не фигурирует кроме (t, i, arr)
Как forEach "догадывается", что arr - это массив из t?
Извините, если вопрос покажется глупым...

Отредактировано difabor (11-02-2016 13:51:58)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№960811-02-2016 14:11:19

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

Re: Custom Buttons

difabor пишет

В Вашем коде:

Выделить код

Код:

gBrowser.visibleTabs.forEach((t, i, arr)=> gBrowser.unpinTab(arr[arr.length-(i+1)]) );

само t нигде не фигурирует кроме (t, i, arr)
Как forEach "догадывается", что arr - это массив из t?
Извините, если вопрос покажется глупым...

Массив: перебирающие методы
forEach для каждого элемента массива gBrowser.visibleTabs с вкладками вызывает безымянную функцию в которую передаёт три параметра (item, i, arr)=>
item – очередной элемент массива.
i – его номер.
arr – массив, который перебирается.
Упомянутые параметры можно назвать как хочешь, вот я и назвал его t и он нужен только что бы можно было за ним добавить i, arr
Вот пример:

Выделить код

Код:

function demo(t, i, arr) { 
   alert(t + " " +  i + " " + arr);
};
demo(1, 2, 3);

function demo(w, i, tg) { 
   alert(w + " " +  i + " " + tg);
};
demo(1, 2, 3);

Параметри или аргументы с разными названиями а результат не меняется.

Отсутствует

 

№960911-02-2016 14:13:55

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 43.0

Re: Custom Buttons

ищу кнопку, при нажатии на которую показывает сколько раз до этого момента данная страница была посещена (соответственно, если первый раз то должно показать 0). Спасибо!!
up
если это невозможно или трудно прошу сообщить)

Отсутствует

 

№961011-02-2016 14:30:41

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 38.0

Re: Custom Buttons

Есть какой-то метод экспорта имеющихся кнопок в другой Firefox без полного замещения?
Спасибо.

Отсутствует

 

№961111-02-2016 14:39:35

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 28.0
Веб-сайт

Re: Custom Buttons

bunda1 пишет

Массив: перебирающие методы
forEach для каждого элемента массива gBrowser.visibleTabs с вкладками вызывает безымянную функцию в которую передаёт три параметра (item, i, arr)=>
item – очередной элемент массива.
i – его номер.
arr – массив, который перебирается.
Упомянутые параметры можно назвать как хочешь, вот я и назвал его t и он нужен только что бы можно было за ним добавить i, arr

Большое спасибо!
Особенно за ссылку!


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№961211-02-2016 15:01:14

xseed
Участник
 
Группа: Members
Зарегистрирован: 24-03-2009
Сообщений: 58
UA: Firefox 44.0

Re: Custom Buttons

Помогите проверить, почему перестал работать этот код в FF44:

Выделить код

Код:

(function() {
  if (document.getElementById("context_bookmarksToolbarPopup")) return;
  
  var contextMenu = document.getElementById("contentAreaContextMenu");
  var menuPopup = document.createElement("menupopup");
  var parentNode = document.getElementById("mainPopupSet");
  
  menuPopup.setAttribute("id", "context_bookmarksToolbarPopup");
  menuPopup.setAttribute("placespopup", "true");
  menuPopup.setAttribute("context", "placesContext");
  menuPopup.setAttribute("openInTabs", "children");
  menuPopup.setAttribute("tooltip", "bhTooltip");
  menuPopup.setAttribute("popupsinherittooltip", "true");
  menuPopup.setAttribute("onpopupshowing", "if (!this.parentNode._placesView) new PlacesMenu(event, 'place:folder=TOOLBAR')");
  menuPopup.setAttribute("oncommand", "BookmarksEventHandler.onCommand(event, this.parentNode._placesView);");
  menuPopup.setAttribute("onclick", "BookmarksEventHandler.onClick(event, this.parentNode._placesView);");
  
  parentNode.appendChild(menuPopup);
  
  contextMenu.addEventListener("popupshowing", function(event) {
    if (!event.ctrlKey) return;
    event.preventDefault(); 
    event.stopPropagation();
    menuPopup.openPopupAtScreen(event.screenX, event.screenY);
  }, false);
})();

Добавлял этот код в инициализацию CB, после чего добавил созданную кнопку на панель инструментов. Код работал по CTRL-RMB до версии 43, в 44 перестал. В 44 при нажатии CTRL-RMB ничего не происходит и в консоли браузера
Пробовал переустанавливать CB и удалять папку custombuttons из профиля - не помогло.
Заметил еще одну "особенность" - кнопка успешно создается и видна в меню "Дополнительные инструменты и функции", но если попытаться зацепить ее значок и перетащить на Панель закладок или Контекстное меню или даже просто подвинуть на место соседней кнопки, то она исчезает и более не видна. В чем может быть дело?

PS: Еще хотел спросить. А возможно ли повесить на отдельное контекстное меню текущие открытые вкладки, и вызывать его например, при помощи сочетания ALT-RMB? Было бы очень удобно. Во первых, при открытии большого количества вкладок их поместится больше на экране, т.к. их расположение в виде контекстного меню будет более плотным, друг под другом, и в результате на экране будет видно больше текста в названии для каждой вкладки. Во-вторых, в полноэкранном режиме можно будет полностью Скрыть панели инструментов, в результате на экране освободится больше места.

Отредактировано xseed (11-02-2016 17:03:28)


Три студента и лопата заменяют экскаватор

Отсутствует

 

№961311-02-2016 20:12:00

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

Re: Custom Buttons

xseed пишет

Помогите проверить, почему перестал работать этот код в FF44:

У меня работает на FF45. У тебя наверно эта проблема: 21-12-2015 21:08:35

Добавлено 11-02-2016 20:14:51

LittleMontana пишет

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

Такой кнопки тут не было, сделать её можно и наверно не слишком сложно, но это не ко мне.

Добавлено 11-02-2016 20:15:59

Kiril__777 пишет

Есть какой-то метод экспорта имеющихся кнопок в другой Firefox без полного замещения?
Спасибо.

FF Exp Imp CB

Отредактировано bunda1 (11-02-2016 20:15:59)

Отсутствует

 

№961411-02-2016 20:53:50

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

Re: Custom Buttons

bunda1 благодарю, человече good2.gif и за готовое решение тоже, но главно за пояснения и Путь, ака направление. рукужму!

Отредактировано jars (12-02-2016 01:11:19)

Отсутствует

 

№961511-02-2016 21:59:51

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

Re: Custom Buttons

Я добавил в кнопку Translate новую возможность - перевод выделенного текста из контекстного меню на странице.

Отсутствует

 

№961612-02-2016 12:48:15

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 38.0

Re: Custom Buttons

bunda1
Спасибо!

Отсутствует

 

№961712-02-2016 13:53:39

tom911
Участник
 
Группа: Members
Зарегистрирован: 20-05-2011
Сообщений: 171
UA: Firefox 44.0

Re: Custom Buttons

bunda1
Ваще красавчег-талантище!

Отсутствует

 

№961812-02-2016 20:51:53

xseed
Участник
 
Группа: Members
Зарегистрирован: 24-03-2009
Сообщений: 58
UA: Firefox 44.0

Re: Custom Buttons

bunda1 пишет

У меня работает на FF45. У тебя наверно эта проблема: 21-12-2015 21:08:35

Да, точно, спасибо.

xseed пишет

PS: Еще хотел спросить. А возможно ли повесить на отдельное контекстное меню текущие открытые вкладки, и вызывать его например, при помощи сочетания ALT-RMB? Было бы очень удобно. Во первых, при открытии большого количества вкладок их поместится больше на экране, т.к. их расположение в виде контекстного меню будет более плотным, друг под другом, и в результате на экране будет видно больше текста в названии для каждой вкладки. Во-вторых, в полноэкранном режиме можно будет полностью Скрыть панели инструментов, в результате на экране освободится больше места.

А что скажете насчет этого пожелания, как его можно реализовать?


Три студента и лопата заменяют экскаватор

Отсутствует

 

№961912-02-2016 21:17:03

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

Re: Custom Buttons

xseed пишет

А что скажете насчет этого пожелания, как его можно реализовать?

А если так: Показывать количество открытых табов в адресной строке+

Отсутствует

 

№962013-02-2016 11:18:55

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 43.0

Re: Custom Buttons

для этого я использую расширение firegestures. а именно контекстное меню с списком вкладок у меня появляется при зажатой ПКМ и колесиком вниз. очень удобно :)

Отсутствует

 

№962113-02-2016 11:59:42

boris997
Участник
 
Группа: Members
Зарегистрирован: 25-03-2009
Сообщений: 91
UA: Firefox 44.0

Re: Custom Buttons

установил первый раз  Сustom Buttons и Firefox стал очень медлено открываться -отключаю все нормально. Это у всех так?    Firefox 4.02.Сustom Buttons 0.0.5.8.1

Отсутствует

 

№962213-02-2016 12:38:43

Retif
Участник
 
Группа: Members
Зарегистрирован: 14-09-2014
Сообщений: 111
UA: Firefox 43.0

Re: Custom Buttons

boris997 у всех вроде. Стоит отзывы у автора почитать. Что-то он не торопится исправлять, как-то.

Отсутствует

 

№962313-02-2016 13:48:19

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

Re: Custom Buttons

boris997 пишет

установил первый раз  Сustom Buttons и Firefox стал очень медлено открываться -отключаю все нормально. Это у всех так?    Firefox 4.02.Сustom Buttons 0.0.5.8.1

Это известная проблема: Вчера 14:25:37

Отсутствует

 

№962414-02-2016 16:12:42

thrower
Участник
 
Группа: Members
Зарегистрирован: 28-11-2013
Сообщений: 207
UA: Firefox 38.0

Re: Custom Buttons

bunda1, а можно сделать такую кнопку, чтобы при выделении текст автоматически добавлялся в SearchBar?
(и кнопку можно было бы вкл/выкл)


5eacfdeda1a7ad5f3e19cdc605bf3dab.png



Есть расширение с этим функционалом, но оно не restartless и без хоткеев, что неудобно.

Отредактировано thrower (14-02-2016 16:13:21)

Отсутствует

 

№962514-02-2016 18:39:08

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

Re: Custom Buttons

boris997 пишет

Сustom Buttons 0.0.5.8.1

Попробуйте обновить Custom Buttons 0.0.5.8.2

Отсутствует

 

Board footer

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