Еще одна, если есть кто проверьте код на ошибки(и предыдущий), я консолем не умею пользоваться).. да и вообще знаю легкий код но не для меня.
Rld() вызывает вопросы, мне кажется там лишний код есть.
Я для себя ещё давно своял похожее:
this.onclick = function(e){ if(e.button == 0){ gClipboard.write(gURLBar.value); var gub=gURLBar.value,line1=' Адрес скопирован в буфер !',line=" "+line1,i=0; function line_a(){ if(i++<line.length){ gURLBar.value=line.substring (1,i)} setTimeout(function(){line_a()},10)} line_a(); setTimeout(function(){gURLBar.value = readFromClipboard()},1500) } if(e.button == 1){ gBrowser.selectedTab = gBrowser.addTrustedTab(readFromClipboard()) } if(e.button == 2){ if(e.ctrlKey || e.shiftKey || e.altKey || e.metaKey) return; e.preventDefault(); gBrowser.addTrustedTab(readFromClipboard()) } }
Отсутствует
Есть кнопка для подстановки символов.
Значки расположены в 6 колонок.
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%3ESymbols%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAK8XAACvFwAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wDz8/MIy8vLKvPz8wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Aq6urSycnJ9CmpqZP////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIaGhnIAAAD9eXl5d////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD39/cGzc3NLMTExDdnZ2eRAAAA/lxcXJXExMQ3zMzMLfb29gb///8A////AP///wD///8A////AP///wD///8At7e3QRcXF+ENDQ3vBwcH9gAAAP4GBgb2DQ0N7xYWFuOwsLBE////AP///wD///8A////AP///wD///8A////ANHR0SdMTEynOjo6uh4eHtkAAAD+Gxsb2jo6OrpLS0upzc3NKv///wD///8A////AP///wD///8A////AP///wD8/PwB2dnZHpycnFc/Pz+2AAAA/jg4OLmamppY2NjYH/z8/AH///8A////AP///wD///8A////AP///wD5+fkEpaWlUDAwMMcHBwf1AAAA/gAAAP4AAAD+BgYG9i4uLsmjo6NS+fn5BP///wD///8A////AP///wD+/v4Aq6urShMTE+YHBwf1PDw8uzk5Ob0AAAD+MjIyvz09PbkHBwf1EhIS56enp07+/v4A////AP///wD///8A8PDwCkJCQrQFBQX3eHh4fuvr6xCFhYVzAAAA/nd3d3jr6+sPenp6egUFBfY+Pj647+/vDP///wD///8A////AODg4BkhISHYGhoa3djY2CD///8AhoaGcwAAAP54eHh4////ANzc3B0fHx/bICAg2+Dg4Bz///8A////AP7+/gDe3t4cHh4e3B4eHtje3t4Z9PT0B2NjY5AAAAD+W1tblPPz8wfl5eUXJiYm1R4eHt/e3t4f/v7+AP///wD+/v4Atra2OxISEucUFBTkvLy8N/r6+gKhoaFTLCwsy6GhoVb6+voDwMDANBcXF+ISEhLptbW1P/7+/gD///8A/v7+AOzs7A5ra2uGc3Nzgu/v7wz///8A+vr6A9zc3B36+voD////AO/v7wtzc3N/a2triezs7A/+/v4A////AP///wD+/v4A9PT0B/X19Qf///8A////AP///wD///8A////AP///wD///8A9fX1B/T09Aj+/v4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.type%20%21%3D%20%22menu%22%20%3F%20this.type%20%3D%20%22menu%22%20%3A%20%28popup%20%3D%3E%20%7B%0A%0A%20%20%20%20var%20columns%20%3D%20%5B%0A%20%20%20%20%22%BD%20%u2153%20%BC%20%u2155%20%u2159%20%u215B%20%u2154%20%u2156%20%BE%20%u2157%20%u215C%20%u2158%20%u215A%20%u215D%20%u215E%22%2C%0A%20%20%20%20%22%uD83D%uDE00%20%uD83D%uDE2C%20%uD83E%uDD23%20%uD83D%uDE42%20%uD83D%uDE43%20%uD83D%uDE17%20%uD83D%uDE19%20%uD83E%uDD2A%20%uD83D%uDE1B%20%uD83E%uDD11%20%uD83E%uDD13%20%uD83E%uDDD0%20%uD83E%uDD20%20%uD83E%uDD17%20%uD83E%uDD21%20%uD83D%uDE11%20%uD83D%uDE44%20%uD83E%uDD28%20%uD83E%uDD14%20%uD83E%uDD2B%20%uD83E%uDD2D%22%2C%0A%20%20%20%20%22%uD83E%uDD2C%20%uD83D%uDE15%20%uD83D%uDE41%20%uD83D%uDE2E%20%uD83D%uDE2F%20%uD83D%uDE26%20%uD83D%uDE27%20%uD83E%uDD24%20%uD83E%uDD14%20%uD83E%uDD29%20%uD83D%uDE2C%20%uD83D%uDE0E%20%uD83E%uDD10%20%uD83E%uDD25%20%uD83D%uDE1F%20%uD83E%uDD15%20%uD83E%uDD12%20%uD83E%uDD2E%20%uD83E%uDD22%20%uD83E%uDD27%20%uD83D%uDE34%22%2C%0A%20%20%20%20%22%u20AC%20%A3%20%24%20@%20%A9%20%AE%20%u2030%20%B0%20%u2109%20%u2103%20%A7%20%AB%20%BB%20%B1%20%B5%20%u2014%20%u2039%20%u203A%20%u2260%20%D7%20%u2713%20%u2717%22%2C%0A%20%20%20%20%22%u2665%20%u23F0%20%u2614%20%u2615%20%uD83D%uDC4F%20%u2620%20%u2622%20%u2623%20%u260E%20%u2794%20%u2160%20%u2161%20%u2162%20%u2163%20%u2164%20%u2165%20%u2166%20%u2167%20%u2168%20%u2169%20%u216A%20%u216B%22%2C%0A%20%20%20%20%22%uD83D%uDC31%20%uD83D%uDC3A%20%uD83D%uDC36%20%uD83D%uDC37%20%uD83D%uDC2E%20%uD83E%uDD8A%20%uD83E%uDD80%20%uD83D%uDC0F%20%uD83D%uDC13%20%uD83D%uDC00%20%uD83C%uDF0E%20%u2600%20%uD83C%uDF24%20%u26C5%20%uD83C%uDF25%20%uD83C%uDF26%20%u2601%20%uD83C%uDF27%20%u26C8%20%uD83C%uDF29%20%u26A1%20%u262D%22%0A%20%20%20%20%5D%3B%0A%20%20%20%20var%20css%20%3D%20//0%26%26%0A%20%20%20%20%60%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20menuitem%20%3E%20.menu-text%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-size%3A%2018px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Consolas%2C%20Rockwell%2C%20Verdana%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20-moz-appearance%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%200%2014px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20menuitem%20%3E%20%3Anot%28.menu-text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20%3E%20menupopup%20%3E%20arrowscrollbox%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20menu%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%60.replace%28/%3B/g%2C%20%22%20%21important%3B%22%29%3B%0A%0A%20%20%20%20var%20inserter%20%3D%20%7B%0A%20%20%20%20%20%20%20%20get%20docShell%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20delete%20this.docShell%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20this.docShell%20%3D%20%22docShell%22%20in%20document%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%26%20document.docShell%20instanceof%20Ci.nsIDocShell%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20document.docShell%20%3A%20window.docShell%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20get%20insertText%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20delete%20this.insertText%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20this.insertText%20%3D%20text%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21this.docShell.isCommandEnabled%28%22cmd_insertText%22%29%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20params%20%3D%20%22createCommandParams%22%20in%20Components.utils%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20Cu.createCommandParams%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Components.classes%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.createInstance%28Components.interfaces.nsICommandParams%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.docShell.doCommandWithParams%28%22cmd_insertText%22%2C%20params%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20insert%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20br%20%3D%20document.activeElement%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%21br%20%7C%7C%20br.localName%20%21%3D%20%22browser%22%20%7C%7C%20%21br.isRemoteBrowser%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20this.insertText%28text%29%20%3A%20br.messageManager.loadFrameScript%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%60data%3A%2C%28%24%7Bthis.insertText%7D%29%24%7BencodeURIComponent%28text.toSource%28%29%29%7D%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%2C%20false%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%20%20%20%20this.onmousedown%20%3D%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20%28e.button%29%20return%3B%0A%20%20%20%20%20%20%20%20popup.addEventListener%28%22popupshowing%22%2C%20e%20%3D%3E%20popup.firstChild%0A%20%20%20%20%20%20%20%20%20%20%20%20.boxObject.parentBox.setAttribute%28%22orient%22%2C%20%22horizontal%22%29%0A%20%20%20%20%20%20%20%20%2C%20%7Bonce%3A%20true%7D%29%3B%0A%20%20%20%20%20%20%20%20popup.setAttribute%28%22context%22%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20popup.setAttribute%28%22oncommand%22%2C%20%22inserter.insert%28event.target.label%29%3B%22%29%3B%0A%20%20%20%20%20%20%20%20popup.onauxclick%20%3D%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20sym%20%3D%20e.target.label%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20sym%20%26%26%20inserter.insert%28sym%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20popup.inserter%20%3D%20inserter%3B%0A%20%20%20%20%20%20%20%20var%20df%20%3D%20document.createDocumentFragment%28%29%3B%0A%20%20%20%20%20%20%20%20for%28var%20symbols%20of%20columns%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20menugroup%20%3D%20popup.appendChild%28document.createElement%28%22menugroup%22%29%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20menugroup.setAttribute%28%22orient%22%2C%20%22vertical%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%28var%20sym%20of%20symbols.split%28%22%20%22%29%29%20menugroup.appendChild%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.createElement%28%22menuitem%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.setAttribute%28%22label%22%2C%20sym%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20popup.append%28df%29%3B%0A%20%20%20%20%20%20%20%20this.onmousedown%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20if%20%28%21css%29%20return%3B%0A%20%20%20%20%20%20%20%20var%20dwu%20%3D%20%22windowUtils%22%20in%20window%20%26%26%20windowUtils%20instanceof%20Ci.nsIDOMWindowUtils%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20windowUtils%20%3A%20window.QueryInterface%28Ci.nsIInterfaceRequestor%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.getInterface%28Ci.nsIDOMWindowUtils%29%3B%0A%20%20%20%20%20%20%20%20var%20type%20%3D%20dwu.AGENT_SHEET%3B%0A%20%20%20%20%20%20%20%20var%20url%20%3D%20%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28css%29%3B%0A%20%20%20%20%20%20%20%20dwu.loadSheetUsingURIString%28url%2C%20type%29%3B%0A%20%20%20%20%20%20%20%20addDestructor%28%28%29%20%3D%3E%20dwu.removeSheetUsingURIString%28url%2C%20type%29%29%3B%0A%20%20%20%20%7D%0A%7D%29%28this.appendChild%28document.createElement%28%22menupopup%22%29%29%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
Отредактировано Ultima2m (24-08-2019 09:05:27)
Отсутствует
Ultima2m попробуй
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%3ESymbols%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAK8XAACvFwAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wDz8/MIy8vLKvPz8wj///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8Aq6urSycnJ9CmpqZP////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AIaGhnIAAAD9eXl5d////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD39/cGzc3NLMTExDdnZ2eRAAAA/lxcXJXExMQ3zMzMLfb29gb///8A////AP///wD///8A////AP///wD///8At7e3QRcXF+ENDQ3vBwcH9gAAAP4GBgb2DQ0N7xYWFuOwsLBE////AP///wD///8A////AP///wD///8A////ANHR0SdMTEynOjo6uh4eHtkAAAD+Gxsb2jo6OrpLS0upzc3NKv///wD///8A////AP///wD///8A////AP///wD8/PwB2dnZHpycnFc/Pz+2AAAA/jg4OLmamppY2NjYH/z8/AH///8A////AP///wD///8A////AP///wD5+fkEpaWlUDAwMMcHBwf1AAAA/gAAAP4AAAD+BgYG9i4uLsmjo6NS+fn5BP///wD///8A////AP///wD+/v4Aq6urShMTE+YHBwf1PDw8uzk5Ob0AAAD+MjIyvz09PbkHBwf1EhIS56enp07+/v4A////AP///wD///8A8PDwCkJCQrQFBQX3eHh4fuvr6xCFhYVzAAAA/nd3d3jr6+sPenp6egUFBfY+Pj647+/vDP///wD///8A////AODg4BkhISHYGhoa3djY2CD///8AhoaGcwAAAP54eHh4////ANzc3B0fHx/bICAg2+Dg4Bz///8A////AP7+/gDe3t4cHh4e3B4eHtje3t4Z9PT0B2NjY5AAAAD+W1tblPPz8wfl5eUXJiYm1R4eHt/e3t4f/v7+AP///wD+/v4Atra2OxISEucUFBTkvLy8N/r6+gKhoaFTLCwsy6GhoVb6+voDwMDANBcXF+ISEhLptbW1P/7+/gD///8A/v7+AOzs7A5ra2uGc3Nzgu/v7wz///8A+vr6A9zc3B36+voD////AO/v7wtzc3N/a2triezs7A/+/v4A////AP///wD+/v4A9PT0B/X19Qf///8A////AP///wD///8A////AP///wD///8A9fX1B/T09Aj+/v4A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.type%20%21%3D%20%22menu%22%20%3F%20this.type%20%3D%20%22menu%22%20%3A%20%28popup%20%3D%3E%20%7B%0A%0A%20%20%20%20var%20columns%20%3D%20%5B%0A%20%20%20%20%22%20%BD%20%u2153%20%BC%20%u2155%20%u2159%20%u215B%20%u2154%20%u2156%20%BE%20%u2157%20%u215C%20%u2158%20%u215A%20%u215D%20%u215E%22%2C%0A%20%20%20%20%22%20%uD83D%uDE00%20%uD83D%uDE2C%20%uD83E%uDD23%20%uD83D%uDE42%20%uD83D%uDE43%20%uD83D%uDE17%20%uD83D%uDE19%20%uD83E%uDD2A%20%uD83D%uDE1B%20%uD83E%uDD11%20%uD83E%uDD13%20%uD83E%uDDD0%20%uD83E%uDD20%20%uD83E%uDD17%20%uD83E%uDD21%20%uD83D%uDE11%20%uD83D%uDE44%20%uD83E%uDD28%20%uD83E%uDD14%20%uD83E%uDD2B%20%uD83E%uDD2D%20%22%2C%0A%20%20%20%20%22%20%uD83E%uDD2C%20%uD83D%uDE15%20%uD83D%uDE41%20%uD83D%uDE2E%20%uD83D%uDE2F%20%uD83D%uDE26%20%uD83D%uDE27%20%uD83E%uDD24%20%uD83E%uDD14%20%uD83E%uDD29%20%uD83D%uDE2C%20%uD83D%uDE0E%20%uD83E%uDD10%20%uD83E%uDD25%20%uD83D%uDE1F%20%uD83E%uDD15%20%uD83E%uDD12%20%uD83E%uDD2E%20%uD83E%uDD22%20%uD83E%uDD27%20%uD83D%uDE34%20%22%2C%0A%20%20%20%20%22%20%u20AC%20%A3%20%24%20@%20%A9%20%AE%20%u2030%20%B0%20%u2109%20%u2103%20%A7%20%AB%20%BB%20%B1%20%B5%20%u2014%20%u2039%20%u203A%20%u2260%20%D7%20%u2713%20%u2717%20%22%2C%0A%20%20%20%20%22%20%u2665%20%u23F0%20%u2614%20%u2615%20%uD83D%uDC4F%20%u2620%20%u2622%20%u2623%20%u260E%20%u2794%20%u2160%20%u2161%20%u2162%20%u2163%20%u2164%20%u2165%20%u2166%20%u2167%20%u2168%20%u2169%20%u216A%20%u216B%20%22%2C%0A%20%20%20%20%22%20%uD83D%uDC31%20%uD83D%uDC3A%20%uD83D%uDC36%20%uD83D%uDC37%20%uD83D%uDC2E%20%uD83E%uDD8A%20%uD83E%uDD80%20%uD83D%uDC0F%20%uD83D%uDC13%20%uD83D%uDC00%20%uD83C%uDF0E%20%u2600%20%uD83C%uDF24%20%u26C5%20%uD83C%uDF25%20%uD83C%uDF26%20%u2601%20%uD83C%uDF27%20%u26C8%20%uD83C%uDF29%20%u26A1%20%u262D%20%22%0A%20%20%20%20%5D%3B%0A%20%20%20%20var%20css%20%3D%20//0%26%26%0A%20%20%20%20%60%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20menuitem%20%3E%20.menu-text%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-size%3A%2022px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Consolas%2C%20Rockwell%2C%20Verdana%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20-moz-appearance%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%200%2014px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20menuitem%20%3E%20%3Anot%28.menu-text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20%3E%20menupopup%20%3E%20arrowscrollbox%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20menu%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%60.replace%28/%3B/g%2C%20%22%20%21important%3B%22%29%3B%0A%0A%20%20%20%20var%20inserter%20%3D%20%7B%0A%20%20%20%20%20%20%20%20get%20docShell%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20delete%20this.docShell%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20this.docShell%20%3D%20%22docShell%22%20in%20document%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%26%20document.docShell%20instanceof%20Ci.nsIDocShell%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20document.docShell%20%3A%20window.docShell%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20get%20insertText%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20delete%20this.insertText%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20this.insertText%20%3D%20text%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21this.docShell.isCommandEnabled%28%22cmd_insertText%22%29%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20params%20%3D%20%22createCommandParams%22%20in%20Components.utils%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20Cu.createCommandParams%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Components.classes%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.createInstance%28Components.interfaces.nsICommandParams%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.docShell.doCommandWithParams%28%22cmd_insertText%22%2C%20params%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20insert%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20br%20%3D%20document.activeElement%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%21br%20%7C%7C%20br.localName%20%21%3D%20%22browser%22%20%7C%7C%20%21br.isRemoteBrowser%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20this.insertText%28text%29%20%3A%20br.messageManager.loadFrameScript%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%60data%3A%2C%28%24%7Bthis.insertText%7D%29%24%7BencodeURIComponent%28text.toSource%28%29%29%7D%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%2C%20false%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%20%20%20%20this.onclick%20%3D%20function%28e%29%20%7B%20%0A%20%20%20%20if%20%28e.button%20%3D%3D%201%29%20%7B%0A%20%20%20%20%20%20%20%20var%20profileDir1%20%3D%20Components.classes%5B%22@mozilla.org/file/directory_service%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20.getService%28Components.interfaces.nsIProperties%29%0A%20%20%20%20%20%20%20%20%20%20%20%20.get%28%22SysD%22%2C%20Components.interfaces.nsIFile%29%0A%20%20%20%20%20%20%20%20%20%20%20.path%3B%0A%20%20%20%20%20%20%20%20var%20tracepath%20%3D%20profileDir1%20+%20%22%5C%5C..%5C%5Csystem32%5C%5Ccharmap.exe%22%3B%0A%20%20%20%20%20%20%20%20Components.Constructor%28%22@mozilla.org/file/local%3B1%22%2C%20%22nsIFile%22%2C%20%22initWithPath%22%29%28tracepath%29.launch%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%20%0A%20%20%20%20%7D%3B%0A%20%20%20%20this.onmousedown%20%3D%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20%28e.button%20%3D%3D%200%29%7B%0A%20%20%20%20%20%20%20%20popup.addEventListener%28%22popupshowing%22%2C%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20menugroup%20%3D%20popup.firstChild%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20parent%20%3D%20%22boxObject%22%20in%20menugroup%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20menugroup.boxObject.parentBox%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20menugroup.flattenedTreeParentNode%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20parent.setAttribute%28%22orient%22%2C%20%22horizontal%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28parent.localName%20%3D%3D%20%22scrollbox%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20parent.style.setProperty%28%22-moz-box-orient%22%2C%20%22horizontal%22%2C%20%22important%22%29%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20%7Bonce%3A%20true%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20popup.setAttribute%28%22context%22%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20popup.setAttribute%28%22oncommand%22%2C%20%22inserter.insert%28event.target.label%29%3B%22%29%3B%0A%20%20%20%20%20%20%20%20popup.onauxclick%20%3D%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20sym%20%3D%20e.target.label%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20sym%20%26%26%20inserter.insert%28sym%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20popup.inserter%20%3D%20inserter%3B%0A%20%20%20%20%20%20%20%20var%20df%20%3D%20document.createDocumentFragment%28%29%3B%0A%20%20%20%20%20%20%20%20for%28var%20symbols%20of%20columns%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20menugroup%20%3D%20popup.appendChild%28document.createElement%28%22menugroup%22%29%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20menugroup.setAttribute%28%22orient%22%2C%20%22vertical%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%28var%20sym%20of%20symbols.split%28%22%20%22%29%29%20menugroup.appendChild%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.createElement%28%22menuitem%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.setAttribute%28%22label%22%2C%20sym%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20popup.append%28df%29%3B%0A%20%20%20%20%20%20%20%20this.onmousedown%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20if%20%28%21css%29%20return%3B%0A%20%20%20%20%20%20%20%20var%20dwu%20%3D%20%22windowUtils%22%20in%20window%20%26%26%20windowUtils%20instanceof%20Ci.nsIDOMWindowUtils%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20windowUtils%20%3A%20window.QueryInterface%28Ci.nsIInterfaceRequestor%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.getInterface%28Ci.nsIDOMWindowUtils%29%3B%0A%20%20%20%20%20%20%20%20var%20type%20%3D%20dwu.AGENT_SHEET%3B%0A%20%20%20%20%20%20%20%20var%20url%20%3D%20%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28css%29%3B%0A%20%20%20%20%20%20%20%20dwu.loadSheetUsingURIString%28url%2C%20type%29%3B%0A%20%20%20%20%20%20%20%20addDestructor%28%28%29%20%3D%3E%20dwu.removeSheetUsingURIString%28url%2C%20type%29%29%3B%0A%20%20%20%20%7D%0A%7D%29%28this.appendChild%28document.createElement%28%22menupopup%22%29%29%29%3B%0A%0Athis.tooltipText%3D%22%u0412%u0441%u0442%u0430%u0432%u043A%u0430%20%u0441%u0438%u043C%u0432%u043E%u043B%u043E%u0432.%5Cn%5Cn%u041B%u041A%u041C%20-%20%u0412%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0441%u0438%u043C%u0432%u043B%u043E%u044B%5Cn%u0421%u041A%u041C%20-%20%u0422%u0430%u0431%u043B%u0438%u0446%u0430%20%u0441%u0438%u043C%u0432%u043E%u043B%u043E%u0432%20Windows%5Cn%u041F%u041A%u041C%20-%20%u041C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%22%3B%0A%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
Отредактировано Andrey_Krropotkin (24-08-2019 09:20:17)
Отсутствует
Andrey_Krropotkin, спасибо, все нормально теперь.
Только пришлось лишние пробелы убрать в конце и начале строк. Но это чисто эстетически.
У меня фон такой из-за стиля, а дефолтный - белый.
Отсутствует
Попробовал эту кнопку, что предложили Ultima2m & Andrey_Krropotkin на PM - белая полоса в пару пикселей выскакивает и всё... ни ошибок, ни глюков. Просто "не показывает".
Оказалось, что в самом коде, есть место, где это все убирается. Не понял для чего, но убрал это место(в самом начале где стиль):
и норм. заработало.
Добавлено 24-08-2019 11:44:37
Правда, похоже здесь на форуме эти все смайлики не пускает "цензура". Пытался вставить в сообщение: превью показывает как надо, а при Отправить - вот такая картина:
Добавлено 24-08-2019 11:47:37
ещё раз пробую вставить
Отредактировано mokujin (24-08-2019 11:47:37)
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
Отсутствует
Добрый день. Просьба к специалистам . Есть простенькая кнопка *закрыть все вкладки* . Просьба , добавить новое действие кнопки при котором, закрытие всех вкладок приводило к открытию домашней страницы. Заранее спасибо.
скрытый текстВыделить кодКод:
/*CODE*/ [...gBrowser.tabs].forEach((tab)=> !tab.pinned && gBrowser.removeTab(tab)); /*закрыть все вкладки*/ //gBrowser.removeTabsToTheEndFrom(gBrowser.mCurrentTab); /*закрыть вкладки справа*/
Вопрос снимается , потихоньку написал сам.
/*CODE*/ /*Закрытие всех вкладок приводит к открытию домашней страницы*/ [...gBrowser.tabs].forEach((tab)=> !tab.pinned && gBrowser.removeTab(tab)); /*закрыть все вкладки*/ //gBrowser.removeTabsToTheEndFrom(gBrowser.mCurrentTab); /*закрыть вкладки справа*/ getBrowser (). selectedTab = getBrowser (). addTab ("https://Ваша стартовая страница"); /*Закрытие всех вкладок приводит к открытию домашней страницы*/
Отредактировано Duche (24-08-2019 16:54:08)
Отсутствует
Не понял для чего, но убрал это место
...
Правда, похоже здесь на форуме эти все смайлики не пускает "цензура".
Если убрать этот блок, то в ФФ расстояние между колонок увеличиваются раза в 2, появляется какой-то лишний блок.
Смайлики и пр. это стандартные знаки виндовс, вроде не должно никак блокироваться, но да, здесь они не отображаются.
Их можно в юникоде записать, но это слишком длинно и не наглядно.
Отредактировано Ultima2m (24-08-2019 16:53:10)
Отсутствует
Если убрать этот блок, то в ФФ расстояние между колонок увеличиваются раза в 2, появляется какой-то лишний блок.
В PM если этот блок не убирать, - вообще ничего не показывается; на всю высоту popup-a, узкая полоска в пару-пикселей. А если убрать, как я выше предложил, вот так:
Их можно в юникоде записать, но это слишком длинно и не наглядно.
если чесна, я вообще не въезжаю как они записаны прям в редакторе CB сверкают смайлы... и это безо-всяких xml в Help Впервые такое вижу.
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
Отсутствует
mokujin
Dumby его правил вроде, тоже при первом запуске пустота(белый мини-квадрат) и в одну колонку, после второго нажатия выскакивает попап как нужно.
Кнопка выше вообще у меня никак не запускалась, и другой вариант и код убирал...
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%3EInsert%20special%20symbol%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%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%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%5BNewFix%5Dforum.mozilla-russia.org/viewtopic.php%3Fpid%3D771059%23p771059%20old...%0Athis.type%20%21%3D%20%22menu%22%20%3F%20this.type%20%3D%20%22menu%22%20%3A%20%28popup%20%3D%3E%20%7B%0A%0A%20%20%20%20var%20columns%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%22%A4%20%A6%20%A7%20%A9%20%AC%20%AE%20%B0%20%B1%20%B5%20%B6%20%u2014%20%u2018%20%u2019%20%u201C%20%u201D%20%u2022%20%u2030%20%u2122%20%u2026%22%2C%0A%20%20%20%20%20%20%20%20%22%u2248%20%u2260%20%D7%20%u221A%20%u2713%20%u2714%20%u2611%20%u2705%20%u2717%20%u2039%u203A%20%AB%BB%20%u300A%u300B%20%u3014%u3015%20%u3010%u3011%22%2C%0A%20%20%20%20%20%20%20%20%22%5CuD83E%5CuDD8A%20%5CuD83D%5CuDE0E%20%u30B8%20%u30C4%20%u30C3%20%uD83D%uDC40%20%u0CA0_%u0CA0%20%u229E%22%0A%20%20%20%20%5D%3B%0A%20%20%20%20var%20css%20%3D%200%26%26%0A%20%20%20%20%60%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20menuitem%20%3E%20.menu-text%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-size%3A%2022px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20Consolas%2C%20Rockwell%2C%20Verdana%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20-moz-appearance%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%200%2014px%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7Dmenuitem%3E%3Anot%28.menu-text%29%7Bdisplay%3Anone%3B%7D%0A%20%20%20%20%20%20%20%20%23%24%7B_id%7D%20%3E%20menupopup%20%3E%20arrowscrollbox%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20menu%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%60.replace%28/%3B/g%2C%20%22%20%21important%3B%22%29%3B%0A%0A%20%20%20%20var%20inserter%20%3D%20%7B%0A%20%20%20%20%20%20%20%20get%20docShell%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20delete%20this.docShell%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20this.docShell%20%3D%20%22docShell%22%20in%20document%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%26%20document.docShell%20instanceof%20Ci.nsIDocShell%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20document.docShell%20%3A%20window.docShell%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20get%20insertText%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20delete%20this.insertText%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20this.insertText%20%3D%20text%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21this.docShell.isCommandEnabled%28%22cmd_insertText%22%29%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20params%20%3D%20%22createCommandParams%22%20in%20Components.utils%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20Cu.createCommandParams%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20Components.classes%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.createInstance%28Components.interfaces.nsICommandParams%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.docShell.doCommandWithParams%28%22cmd_insertText%22%2C%20params%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20insert%28text%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20br%20%3D%20document.activeElement%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%21br%20%7C%7C%20br.localName%20%21%3D%20%22browser%22%20%7C%7C%20%21br.isRemoteBrowser%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20this.insertText%28text%29%20%3A%20br.messageManager.loadFrameScript%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%60data%3A%2C%28%24%7Bthis.insertText%7D%29%24%7BencodeURIComponent%28text.toSource%28%29%29%7D%60%0A%20%20%20%20%20%20%20%20%20%20%20%20%2C%20false%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%20%20%20%20this.onmousedown%20%3D%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20%28e.button%29%20return%3B%0A%20%20%20%20%20%20%20%20/*%0A%20%20%20%20%20%20%20%20popup.addEventListener%28%22popupshowing%22%2C%20e%20%3D%3E%20popup.firstChild%0A%20%20%20%20%20%20%20%20%20%20%20%20.boxObject.parentBox.setAttribute%28%22orient%22%2C%20%22horizontal%22%29%0A%20%20%20%20%20%20%20%20%2C%20%7Bonce%3A%20true%7D%29%3B%0A%20%20%20%20%20%20%20%20*/%0A%20%20%20%20%20%20%20%20popup.addEventListener%28%22popupshowing%22%2C%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20menugroup%20%3D%20popup.firstChild%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Bug%201519948%20-%20Remove%20box%20objects%20%28Firefox%20%3F%3F+%29%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20https%3A//bugzilla.mozilla.org/show_bug.cgi%3Fid%3D1519948%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20parent%20%3D%20%22boxObject%22%20in%20menugroup%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20menugroup.boxObject.parentBox%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20menugroup.flattenedTreeParentNode%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20parent.setAttribute%28%22orient%22%2C%20%22horizontal%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20Bug%201454357%20-%20Remove%20scrollbox%20binding%20%28Firefox%2066+%29%0A%20%20%20%20%20%20%20%20%20%20%20%20//%20https%3A//bugzilla.mozilla.org/show_bug.cgi%3Fid%3D1454357%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28parent.localName%20%3D%3D%20%22scrollbox%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20parent.style.setProperty%28%22-moz-box-orient%22%2C%20%22horizontal%22%2C%20%22important%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%7D%2C%20%7Bonce%3A%20true%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20popup.setAttribute%28%22context%22%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20popup.setAttribute%28%22oncommand%22%2C%20%22inserter.insert%28event.target.label%29%3B%22%29%3B%0A%20%20%20%20%20%20%20%20popup.onauxclick%20%3D%20e%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20sym%20%3D%20e.target.label%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20sym%20%26%26%20inserter.insert%28sym%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20popup.inserter%20%3D%20inserter%3B%0A%20%20%20%20%20%20%20%20var%20df%20%3D%20document.createDocumentFragment%28%29%3B%0A%20%20%20%20%20%20%20%20for%28var%20symbols%20of%20columns%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20menugroup%20%3D%20popup.appendChild%28document.createElement%28%22menugroup%22%29%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20menugroup.setAttribute%28%22orient%22%2C%20%22vertical%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%28var%20sym%20of%20symbols.split%28%22%20%22%29%29%20menugroup.appendChild%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.createElement%28%22menuitem%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.setAttribute%28%22label%22%2C%20sym%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20popup.append%28df%29%3B%0A%20%20%20%20%20%20%20%20this.onmousedown%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20if%20%28%21css%29%20return%3B%0A%20%20%20%20%20%20%20%20var%20dwu%20%3D%20%22windowUtils%22%20in%20window%20%26%26%20windowUtils%20instanceof%20Ci.nsIDOMWindowUtils%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20windowUtils%20%3A%20window.QueryInterface%28Ci.nsIInterfaceRequestor%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.getInterface%28Ci.nsIDOMWindowUtils%29%3B%0A%20%20%20%20%20%20%20%20var%20type%20%3D%20dwu.AGENT_SHEET%3B%0A%20%20%20%20%20%20%20%20var%20url%20%3D%20%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28css%29%3B%0A%20%20%20%20%20%20%20%20dwu.loadSheetUsingURIString%28url%2C%20type%29%3B%0A%20%20%20%20%20%20%20%20addDestructor%28%28%29%20%3D%3E%20dwu.removeSheetUsingURIString%28url%2C%20type%29%29%3B%0A%20%20%20%20%7D%0A%7D%29%28this.appendChild%28document.createElement%28%22menupopup%22%29%29%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
Отредактировано func4ptch4 (24-08-2019 18:57:21)
Отсутствует
func4ptch4
да, эта кнопка сразу работае на PM. Вид имеет такой(меньше символов чем в тех двух что выше ибо ЕЯПП собс-но смайлы в здесь в unicode записаны):
✅
Добавлено 24-08-2019 19:22:42
... а форум эти смайлы всё равно не пропускае.. я три символа вбил. Получился токмо один.
Добавлено 24-08-2019 19:28:51
Опять же, предпросмотр как дОлжно быть показует. А при отправке , ошибки нет, но и два символа-смайла обрезаются. Обрезаются и те что здесь в юникоде. Т.е. без разницы как их вставлять. Форум будет резать.
Отредактировано mokujin (24-08-2019 19:28:51)
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
Отсутствует
как сохранить ссылку: элемент страницы с другим именем? Пример: http://www.google.lv/favicon.ico как google.ico?
Нужно сохранить картинку (Base64 или URI), изменив её имя (напр: домен + имя). Нашёл расширение Save Image to Downloads, но имя оно не меняет…
можно ли добавить изменение имени и переделать расширение в код Custom Buttons, работающий на FF версии 56?
function downloadImage(info, tab) { var url = info['srcUrl']; var filename = url.substring(url.lastIndexOf('/')+1); if(chrome.downloads){ chrome.downloads.download({ url: url, filename: filename }); } else{ function getBase64ImageData(url,filename) { var img = new Image(); img.setAttribute('crossOrigin', 'anonymous'); img.onload = function () { var canvas = document.createElement("canvas"); canvas.width = this.naturalWidth; canvas.height = this.naturalHeight; var ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0); var dataURI = canvas.toDataURL("image/png"); chrome.tabs.query({currentWindow: true, active: true}, function(tabs) { var tab=tabs[0]; chrome.tabs.sendMessage(tab.id, {'action' : 'imagedownload',url:url,filename:filename,dataURI:dataURI}, function (response) { if (chrome.runtime.lastError) { //console.log(chrome.runtime.lastError.message); } else { //OK } } ); } ); }; img.src = url; } getBase64ImageData(url,filename); } } chrome.contextMenus.create({"title": "Save Image to Downloads…", "contexts":["image"], "onclick": downloadImage});
Отредактировано Dobrov (28-08-2019 03:40:11)
Отсутствует
Кто знает как можно добавить на "ЛКМ" длинный клик, чтобы не пострадал функционал.
Пробовал но это взрыв мозга), когда не понимаешь я пробовал обойтись без onmousedown,onmouseup.
Вот с этим хотел "this._mouseDownTime)< delay)"... но там функция вроде другая аа. короче ничего не понимаю просидел день наверно...
this.onclick=e=> {if(e.button==0&&!e.ctrlKey)BrowserOpenAddonsMgr(); //L if(e.button==0&& e.ctrlKey)openBrave(); //Ctrl+L if(e.button==1)gShowPopup(this); //M if(e.button==2&& e.ctrlKey){e.preventDefault();PlacesCommandHook.showPlacesOrganizer('History');}; //Ctrl+R if(e.button==2&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey){e.preventDefault();openPreferences();}};//R this.tooltipText="L: Addons\nM: CBMenu\nR: Preferences\nCtrl+L: Open in Brave\nCtrl+R: Bookmarks Manager (Ctrl+Shift+H)" //////////////////////////////////////////////////////////////////// function openBrave(){var prof=Services.dirsvc.get('ProfD',Ci.nsIFile); var process=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); prof.initWithPath(prof.path+"\\..\\..\\gBrave 0.67\\brave-portable.exe"); var uri=gBrowser.currentURI.spec; var uri=/.рф/.test(uri)?Services.io.newURI(uri,null,null).asciiSpec:uri; process.init(prof);process.run(false,[uri],1);}; /**/ //////////////////////////////////////////////////////////////////// //Функция открывает настройки прокси в окне ................... /* function openConnections(){self.win&&self.win.close(); self.win=openDialog("chrome://browser/content/preferences/connection.xul","Proxy","centerscreen"); self.win.addEventListener("load",function f(e){this.removeEventListener("load",f,true);e.target.documentElement.setAttribute("type","prefwindow");},true); //добавить атрибут "prefwindow" gBrowser.addEventListener("click",function c(){this.removeEventListener("click",c);try{self.win.close()}catch(e){};},true);}; //закрыть настройки прокси по клику на странице /**/ //////////////////////////////////////////////////////////////////// //forum.mozilla-russia.org/viewtopic.php?pid=772634#p772634 //{setTimeout(function(){document.getElementById("custombuttons-contextpopup").hidePopup();},0);openPreferences();}};//R //========================================================================================================== //{e.button&&!e.ctrlKey&&e.preventDefault()}; || BrowserOpenAddonsMgr(); || ... //========================================================================================================== // Proxy 04.05.18||Настройка функций кликов мыши для кнопки ................... //this.onmousedown=e=>{if(e.button==0)self.timer=setTimeout(()=>{self.onmouseup='';openConnections();,500); //длинный левый клик //this.onmouseup =e=>{if(e.button)return;clearTimeout(self.timer);cbu.setPrefs("network.proxy.type",cbu.getPrefs("network.proxy.type") ? 0:1);} //левый клик // if(e.button==2)menuPopup.showPopup(self,-1,-1,"popup","bottomleft","topleft");}; //правый клик //this.oncontextmenu=e=>e.detail==2&&!menuPopup.hidePopup() ||e.ctrlKey||!!menuPopup.openPopup(this,"after_start"); //========================================================================================================== // {if(e.button==0&& ((Date.now()-this._mouseDownTime)< delay) &&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)BrowserOpenAddonsMgr();}; //else if(e.button==0&&(((Date.now()-this._mouseDownTime)>=delay)||(!e.ctrlKey&& e.shiftKey&&!e.altKey&&!e.metaKey)))openPreferences();}; //========================================================================================================== // Настройка функций кликов мыши для кнопки, учитывая долгое нажатие (c) Victor Dobrov // пример: Middle Click: Редактировать кнопку. Колёсико над кнопкой: Масштаб // остальные кнопки: там, где нули, ставим свои команды // var longPress; //долгое нажатие //function handleEvent(e){switch(e.type) // {case"mouseover": //здесь можно обновлять tooltip кнопки // 0 //break;case"mousedown":self.timer=setTimeout(()=>{ //удержание // if(event.target.localName=="menuitem")return; // longPress=true; //блокировка обычных кликов // if(e.button==0){ 0 } //LLong // else if(e.button==2){ 0 } //RLong // else if(e.button==1){ 0 } //MLong // },500); // //break;case"mouseup": //отжатие кнопки // clearTimeout(self.timer); //сброс таймера долгих нажатий // if(longPress) longPress=false //выполнялась команда долгих нажатий, сброс флага и выход // else if(e.button==0){ 0 } //L // else if(e.button==2&&!e.altKey&&!e.metaKey){ 0 //R // e.preventDefault();} //e.stopPropagation(); // else if(e.button==1){custombuttons.editButton(this);} //M//Редактировать кнопку… // break;case"DOMMouseScroll": //ролик мыши над кнопкой // event.detail > 0 ? FullZoom.reduce() : FullZoom.enlarge(); // break;case"contextmenu": //ПКм+Alt или Meta откроет контекстное меню // if(!e.altKey&&!e.metaKey)e.preventDefault();} //e.stopPropagation(); //}; //var this_e=["mousedown","mouseup","mouseover","contextmenu","draggesture","DOMMouseScroll"] // .forEach((type)=>this.addEventListener(type,handleEvent,false)); //==========================================================================================================
Отредактировано func4ptch4 (30-08-2019 15:26:52)
Отсутствует
«Merge Date»
custom_buttons-0.0.7.0.0.6-fx-paxmod.xpi
custom_buttons-0.0.7.0.0.6-fx-bootstrap.xpi
Конфигурацию, хотелось бы думать, не сломали.
Которая здесь.
Отсутствует
69.0
Первую попробую, если OK — остальные сам
(ps => { var s = "extensions.long_left_click.timeContent"; this._handleClick = () => ps.setIntPref(s, ps.getIntPref(s, 0) ? 0 : 280); var toggleImage = val => { this.icon.src = (val = ps.getIntPref(s, 0)) ? this.image : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAACAElEQVQ4jaWRv2tTcRTFP0kq/hr6Y3kggRKKVERwsLOudnBxVURHcVNcXOzgHyChgiAExE0CQtFUh4RSsJJUTfBp0ZimrWJMXkjCe0jee03McQjpj4dawbPd8z3n3Pu9F/4TkT3er87Ozi5PTU3NrK+vh23bXvjX4BulUkmSlMlklMlklE6nlcvlZBjG473M5+fn5zVAPB5Xu92WJHU6HSUSCQF3/xagtbW1rYBsNqtyuSxJsixLpmlqbGxMA3E4YLYA8vk8vu9Tr1s8f5FjPBajXq9TqVQwTZNmswlw87fdAUWjUS0tLalQKEh1pFfoy9dvmpyc1MTEhAa6PwYAsiyr/4cyalffqNFoKJVK7TQLGAGIARoeHlY0GlUkEtFOXEhJKy1p1enXj+bea6XV5yJn5hQGvgMnbds+NTo6SjKZ3Bqn2+1y8Ths2FBs9rlnC5/ZsPvc04fnCO2c3zAMVatVAHzfx3Vd4sURAM7GwDgEr1d9Pnj7SVdgsRq4Qq1WuzYwO46D4zgsVmCxArdewvhhsN7luP22bwYYCizxAXDPdV08z8PzPJYbuwW9TXvX/oMBnVAoFPq0uiG71YLeJs6PwJk8Czrb9a4dqDjzE+N0GDwgDOpx7Mk0AB8vb+uO3u8SOTBE1w0GmIiDwD6gB2zCkespTlyZJohOGxYu3eEXxs9IEzjFPg4AAAAASUVORK5CYII="; this.tooltipText = `${val ? "Не в" : "В"}сё ссылки в новой`; } toggleImage(); ps.addObserver(s, toggleImage, false); addDestructor(() => ps.removeObserver(s, toggleImage)); })(Services.prefs);
Отсутствует
У меня половина кнопок слетело, в основном с popup в чем может быть дело? 69
А в коде выше я тоже не разобрался в чем разница..) да там вроде код полностью переписан.
Отредактировано func4ptch4 (02-09-2019 23:41:02)
Отсутствует
никак не разберусь с остальными кнопками
Ну вот смотри: в обоих кнопках, второй и третьей, используется выражение вида
var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon");
можешь просто заменить его на
var {icon} = self;
Если хочется чего-то более академичного и обратно совместимого, тогда так.
В третьей кнопке, в последней строке, настоятельно рекомендуется заменить
gPrefService на Services.prefs
половина кнопок слетело, в основном с popup
А popup, небось, создаётся так: document.createElement("menupopup")
Сто раз уже обсуждалось. Ссылка для медитации.
Отсутствует
Dumby
Смысл в медитаций если я даже понять не могу последовательность, никогда не кодил.
Я смотрю на код пытаюсь в нем разобраться без знаний, эта как научиться пользоваться ложкой но у ложки одна функция и понять как им пользоваться легче.
А тут тот код что делает а этот зачем там скобки, и везде код разный вот пример "(()=>", "(function(){}"... если бы я не сопоставил не понял бы что так можно.
Но что такое функция? или то или иное я так и не понимаю...(
https://forum.mozilla-russia.org/viewto … 59#p771059 вот этот код не пашет и
this._handleClick=()=>menuPopup.openPopup(this,"after_start"); в консоли пишет не является функцией, это с другой кнопки
Мне кажется или ток у меня отвалились на 69? а консолью пользоватся не умею, туда если заглянешь столько ошибок) аж страшно
Отредактировано func4ptch4 (03-09-2019 04:25:11)
Отсутствует
Dumby
В 69 упали две главные кнопки , остальные исправил , но эти...Нет смысла в 69...
(selectors => addEventListener("dblclick", e => {
if (
e.button || e.ctrlKey || e.shiftKey || e.altKey
|| !e.originalTarget.matches(selectors)
)
return;
var hbuTabs = [], param = {animate: false};
gBrowser.selectedTab = gBrowser.tabs[0];
for(var tab of gBrowser.visibleTabs.reverse())
//if (tab.pinned) break; else
gBrowser._hasBeforeUnload(tab)
? hbuTabs.push(tab)
: gBrowser.removeTab(tab, param);
for(tab of hbuTabs)
gBrowser.removeTab(tab, param);
}, false, document.getElementById("TabsToolbar") || 1))("" + [
"#tabbrowser-tabs [class*=scrollbox]",
"#TabsToolbar > toolbarspring",
"#TabsToolbar",
]);
Отредактировано solombala (03-09-2019 20:17:48)
Отсутствует
Dumby, в общем спасибо, разобрался оказывается у меня код был другой и не пахал а в той ссылке пашет.
Пришлось снова смотреть 2 разных кода чтобы понять в чем проблема, нашел то что ты кидал...
Но блин вот трудно пример написать, а то вот тебе разбирайся мда.
Вот не легче этот CB забросить? если никто не пользуется точнее все кто умеет кодить сидят на старых релизах и им нафиг не сдалось фиксить.
Зае..б править каждый раз, да еще без знаний эта каторга... а спрошись пошлют разбирайся какая помощь? я сам можно сказать дошел до этого. Вот не кидалбы я бы все равно сверил и пришел к тому, забросишь все просто смирятся и не будут мучить себя. Ну кроме тех кто на esr сидит или на PM. А вид типа ты нам помогаешь эта лишь показуха и тебе легче и нам, трудно 5минут было копипаст и пример привести.
Ты не обязан но и не давай надежду как говориться)... а то вон скольким надо фиксить а ты тут один, все ждут и облом если конечно они не будут париться.
Да и мини функционал столько времени не стойт, ради одной функций чуть ли не 2 дня тратишь.
Помню времена, когда жил без CB.
Отредактировано func4ptch4 (03-09-2019 21:49:20)
Отсутствует
помочь еще и с этой кнопкой
Это типа «Активация таба мышенаведением»?
У меня нашлась какая-то из неиспользуемых, может подойдёт
(trg => { var id = 0, cx = 0, tab = null; var remX = () => cx = MousePosTracker._x; addEventListener("TabOpen", remX, false, trg); addEventListener("TabClose", remX, false, trg); var onTimeout = (t, x) => { if (t.matches(":hover") && Math.abs(x - t.screenX) < 50) gBrowser.selectedTab = t; tab = null; } addEventListener("mouseover", e => { if (cx == MousePosTracker._x) return; cx = 0; var t = e.target.closest("tab:not([selected])"); if (t && t != tab) clearTimeout(id), id = setTimeout(onTimeout, 850, tab = t, t.screenX); }, false, trg); })(gBrowser.tabs[0].flattenedTreeParentNode || 1);
остальные исправил , но эти
Можно попробовать в первой
заменить e.target в двух местах:
в первом на e.target.closest("tab") || e.target
во втором на e.target.closest("tab")
и boxObject.parentBox на flattenedTreeParentNode
А во второй, даже не знаю, может удалить
#TabsToolbar >
Отсутствует
FF обновился до 69.0 и кнопка от уважаемого bunda1 "Поиск изображения в" в контекстном меню изображений, от 31.05.2019 перестала работать.
а также в контекстном меню "затерся" текст в некоторых стандартных пунктах.
Можно ли поправить кнопку?
// Добавить подменю "Поиск изображения в" в контекстном меню изображений, от 31.05.2019. ............. (()=> { var copyimage = document.getElementById("context-copyimage-contents"); var contextMenu = copyimage.parentNode; var array = [ ['Google', 'data:image/png;base64,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/GMzLdsAADrvaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNS0wOS0wOFQwMzo0ODo0NiswNzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTUtMDktMDhUMDM6NDg6NDYrMDc6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE1LTA5LTA4VDAzOjQ4OjQ2KzA3OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpiZTkyOTY2My03YjRmLWQyNDItYTMwNC1jMzM2ZWYyYWIwZDU8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjYmZjNTliZC01NWExLTExZTUtODFjMS04YjlkY2VmYTcxNjk8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo1Y2I5OGU1Zi1iNmNiLWNjNGQtYmE4MS1kNjNmN2VjZWYwYzE8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NWNiOThlNWYtYjZjYi1jYzRkLWJhODEtZDYzZjdlY2VmMGMxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTA5LTA4VDAzOjQ4OjQ2KzA3OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmJlOTI5NjYzLTdiNGYtZDI0Mi1hMzA0LWMzMzZlZjJhYjBkNTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wOS0wOFQwMzo0ODo0NiswNzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPjg4MjFFRjQwOUIwQzc4Mjg5QkM2Nzk4NzMzQjdCODlGPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6SUNDUHJvZmlsZT5zUkdCIElFQzYxOTY2LTIuMTwvcGhvdG9zaG9wOklDQ1Byb2ZpbGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjMwMDAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjMwMDAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTY8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PnhSO64AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABMBJREFUeNrElT1sHEUUx387Nzs3vtvbW9+d44viEGPACSYCBPmg4EsgUKAhaUgBEpGgCQgKoogPCUGLoKCAkkRKR6wQqAAJAhEQmYYESIMREFlgzo5zOZy9vb3ZuR2KBYkudEwxzTy9mXn/3/s/zznnnON/W/K/Bt58y/zxkXXOGChJaDQyC7C05AEwHiXJSgcurkk52YbOH08cAM+7Wl5xtYAdOz/8AJyDOM5zKAkhAC6uKgVQD0e5yyGOrZ1sQz1MEoCJibfeGiRXr633jwS7d3/yMTg3SAdpnkMQGCMEdLu+BNi5QymXw913zc56AsYb1nY6MEiEmNwAiz9l1hPw6afnzw9T+PmXJClrSNNBAlASQwOQJMMUYDh86WXwPG/nrpMnnXNukLjcGFBqkCoF/cSXmYF9e2dmPAHNprUrHTh69O133jsOy8uLi50V6PXS1AP27NmzZ8ftsH//44898CC8f3JxsRbA56fW1kY5HD68dVs/hv2Pbt9eDWDX7qNHlAKZmczkOQghhFIQxyXRj2F2dqxiDExvSdOyhkOHnz/0yqtgjLWNBoAnMgNQj7SGz04tLFzqwq8X/lw/dw5efOHZZ+66Ez4/9eVXSsHp04uLqgG//Z4kLgetrQWQ3W5mhYB6JCVAnqdpNYCbtk9PV4H5E/Mnjh0DECKKIDPGFBdH0caN4Il62G5DZkZ5ScDvv11cXV+H5eULF5aX4bbbhMhzOHvucndqCs6cWV8vScisrwCklAWocZymRWKHr8CXWl9ag6WlS2sXV4unVSpQC7VuNWGQaH3tNFhrrSeKcw8Iw7FKPYLOirW+glbLl3/2oB/7qiRBqWEax2CtlEEAwphBai34UghfFTRnBlrNUd5sQatVCzdNQT8OgsY4DNPxRrMBo1zregRSghCg1FglCGCUC2EtTDSl1BqkLB7uKOCLYxjTUJKFBMKYkpAS4tgYgAI9OPtdp+Ny2PfI3kfuvw/KWqmJFtTCRkNrECIIkgQctVBriKJ22xiYmdlyTbsNc3PXzkQRLCz89PMfHahUpOzHEASeEAKsrQZ5DsLRTzLD3zv0k6J0X3yxtJSmkCSTG+oRPPfc0wfvuRemphqN6WkIQ2N8Cc3GeBSGcOPcls3btsFTTz780NZZ+PiTs99+swArq2HtupkC3mpQfNQTEATDVAjwpHz9deec2zSllLWFkoWxFJJoPcqNgQMHdu8qCdi2VesrMfR6SVKpgC+l7PWgFgaBtfDRR1+fWV2Fkx98/4MHCDG16ZZbiy4zBq6sD5Ki+GVdqYC3ZfrNN65ccW5tzZgggMxoXTRZmloLUkopJYzpJOl2YWKDUmkKQozyflzACtDpJIkxcKmbuzAEj7Hy5mtAiAJRY/p9AF9VqwBaGzOyUApD6WfZa69F9bm5O+6AaDyKymUol8vly11oNYXwgJKshWEIxjTGazUApapV6Pd92WpCmlYrk21oNStj1SrUakoZA1GkfClhYqLRHCRQC0qlLANrPzt18Ol/WfH1N+zdd/Cgc2laeH4tqIfWgjH9pKC8MKqhGdnLPfBlNdAajBmmHlANpBQCXG7M5V4xsArfAGOgnxQNP6a1Lkn48cf5+SPvep73f4/jvwYAdVc8ZTQlaYQAAAAASUVORK5CYII=', 'https://www.google.com/searchbyimage?&image_url='], ['Яндекс', 'http://yastatic.net/morda-logo/i/favicon_islands.ico', 'http://yandex.ru/images/search?rpt=imageview&img_url='], ['Bing', 'https://www.bing.com/s/a/bing_p.ico', 'http://www.bing.com/images/searchbyimage?FORM=IRSBIQ&cbir=sbi&imgurl='], ['Tineye', 'https://tineye.com/favicon.ico', 'http://tineye.com/search?pluginver=bookmark_1.0&url='], ]; var menu = contextMenu.insertBefore(document.createElement("menu"), copyimage); menu.setAttribute("label", "Поиск изображения в ..."); menu.setAttribute("class", "menu-iconic"); menu.setAttribute("image", array[0][1]); menu.onclick =e=> { e.target.nodeName == 'menu' && search(array[0][2]); setTimeout(()=> contextMenu.hidePopup(), 20) }; addEventListener("popupshowing", ()=> menu.hidden = copyimage.hidden, true, contextMenu); addDestructor(()=> contextMenu.removeChild(menu)); var menuPopup = menu.appendChild(document.createElement("menupopup")); array.forEach(m=> { var mItem = menuPopup.appendChild(document.createElement("menuitem")); mItem.setAttribute("label", m[0]); mItem.setAttribute("image", m[1]); mItem.setAttribute("class", "menuitem-iconic"); mItem.onclick =()=> search(m[2]); }); function search(finder) { gBrowser.selectedTab = gBrowser.addTrustedTab(finder + encodeURIComponent(gContextMenu.imageURL)) }; var mItem = menuPopup.appendChild(document.createElement("menuitem")); mItem.setAttribute("label", 'Искать во всех поисковиках'); mItem.onclick =()=> { array.forEach(m=> { gBrowser.selectedTab = gBrowser.addTrustedTab(m[2] + encodeURIComponent(gContextMenu.imageURL)) }) }; })(); (frameScript => { this._handleClick = () => addTab("https://www.pinterest.ru"); this.oncontextmenu = e => e.ctrlKey || e.shiftKey || addTab("https://www.pinterest.com") || false; var addTab = url => { var tab = gBrowser.selectedTab = gBrowser.addTab(url, { triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal() }); var browser = tab.linkedBrowser; setTimeout(function wait() { if(browser.currentURI.spec == "about:blank" || browser.webProgress.isLoadingDocument) setTimeout(wait, 25); else browser.messageManager.loadFrameScript(frameScript, false); }, 0); } })( "data:,content.document.documentURI.startsWith('about:neterror')&&(wn=>wn.reload(wn.LOAD_FLAGS_BYPASS_PROXY" + "|wn.LOAD_FLAGS_BYPASS_CACHE))(docShell.QueryInterface(Components.interfaces.nsIWebNavigation))" );
Отредактировано leex (04-09-2019 19:58:10)
Отсутствует