Поздравляю всех с Рождеством! А возможно средствами Custom Buttons добавить меню, такое же как создает дополнение Speed Start: по ссылкам на странице, но чтобы оно предлагало добавить элемент спиддиал при щелчке по закладке, чтобы любую закладку можно было бы быстренько добавить на спиддиал? И какой адрес прописать в
// Управление закладками, от 25.10.2014. ................................ (function func() { // страницы где левый клик открывает закладку в текущей странице var current = ["about:newtab", "about:blank", "chrome://browser/content/bookmarks/bookmarksPanel.xul", ""];
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0417%u0430%u043A%u043B%u0430%u0434%u043E%u0447%u043A%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAALAAAALoAAADnXBoAyVwaAMlcGgDJXBoAyVwaAMlcGgDJXBoAyVwaAMlcGgDJRhQApAAAACwAAAASAAAACgAAABYAAADbYGBg/8qXZP/Fkl//xZJf/8WSX//Fkl//xZJf/8WSX//Fkl//ypdk/2gkAMMAAAAWAAAACgAAAAABAQEAAQEBzmJiYv/IlWL/vYpX/7+MWf+/jFn/v4xZ/7+MWf+/jFn/vYpX/8iVYv91MAG9WSUBAAAAAAABAQEAAQEBAAEBAclkZGT/mWYz/7F+S//Bjlv/s4BN/5lmM//Bjlv/wY5b/76LWP/Kl2T/ezQBuns0AQBdKAEAAQEBAAEBAQABAQHFZ2dn/3dekf+IYmL/qndE/4hiYv93XpH/xJFe/8SRXv+/jFn/zZpn/343Abh+NwEAfjcBAAEBAQABAQEAAQEBwWtra/94X5H/aGj//3hfkf9oaP//eF+R/8iVYv/IlWL/v4xZ/9Gea/+COgG3gjoBAII6AQABAQEAAQEBAAEBAb5ubm7/emCS/2dn/P9jY/j/Z2f8/3pgkv/LmGX/y5hl/7+MWf/UoW7/hj0BtYY9AQCGPQEAAQEBAAEBAQABAQG7cnJy/3xik/9nZ/n/Xl7z/2dn+f98YpP/z5xp/8+caf+/jFn/2KVy/4lAAbOJQAEAiUABAAEBAQABAQEAAQEBuHV1df9+ZZT/bGz6/2Nj9f9sbPr/fmWU/9KfbP/Sn2z/votY/9uodf+NQwGyjUMBAI1DAQABAQEAAQEBAAEBAbV5eXn/gGeV/3Bw+/9nZ/f/cHD7/4Bnlf/Wo3D/1qNw/76LWP/frHn/kEUBsJBFAQCQRQEAAQEBAAEBAQABAQGyfHx8/4Npl/91df3/bGz6/3V1/f+DaZf/47B9/+Owff+8iVb/4q98/5JIAa+SSAEAkkgBAAEBAQABAQEAAQEBsH5+fv+Fa5j/eXn+/3Bw/P95ef7/hWuY/7uIVf+7iFX/u4hV/+Sxfv+VSgGtlUoBAJVKAQABAQEAAQEBAAEBAa6AgID/h22Z/319//90dP7/fX3//4dtmf/lsn//5bJ//+Wyf//qt4T/l0wBrJdMAQCXTAEAAQEBAAEBAQABAQGsVVVV/4hvmf+EhP//f3///4SE//+Ib5n/u4hV/7uIVf+7iFX/u4hV/5lNAauZTQEAmU0BAAQEBAAEBAQABAQEiry8q/9hYcv/Q0PX/0VF2v9ISN3/cHDf/+jo4v/v7+z/9/f0//z8/P9VVStmVVUrAFVVKwAEBAQABAQEAAQEBGgEBASKmU0Bq5lNAauZTQGrmU0Bq5lNAauZTQGrmU0Bq5lNAauZTQGrmU0BgZlNAQCZTQEAAAAAAAAAAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3Eif%20%28%20this.hasAttribute%28%22initialized%22%29%20%29%20return%3B%0A%0A//%20http%3A//infocatcher.ucoz.net/js/cb/bookmarksFolder.js%0A//%20https%3A//forum.mozilla-russia.org/viewtopic.php%3Fid%3D57872%0A//%20https%3A//github.com/Infocatcher/Custom_Buttons/tree/master/Bookmarks_Folder%0A%0A//%20Bookmarks%20Folder%20button%20for%20Custom%20Buttons%0A//%20%28code%20for%20%22initialization%22%20section%29%0A%0A//%20%28c%29%20Infocatcher%202011-2014%0A//%20version%200.1.1%20-%202014-05-20%0A%0A//%20Compatibility%3A%20Firefox%204.0+%2C%20SeaMonkey%202.1+%0A%0A//%20Icon%20by%20FatCow%20Web%20Hosting%3A%20http%3A//www.iconfinder.com/icondetails/36059/16/%0A%0A//%20Hidden%20feature%3A%20you%20can%20manually%20set%20extensions.custombuttons.button%26lt%3BN%26gt%3B.bookmarkFolder%0A//%20preference%20to%20any%20place%3A%20URI%20https%3A//developer.mozilla.org/en-US/docs/Places_query_URIs%0A//%20%28and%20press%20OK%20in%20button%20editor%20or%20reopen%20window%20or%20restart%20browser%29%0A%0Avar%20options%20%3D%20%7B%0A%09hideDropMarker%3A%20true%2C%20//%20Hide%20%22v%22%20after%20button%27s%20icon%0A%09showLabel%3A%20undefined%2C%20//%20Set%20to%20true/false%20to%20force%20show/hide%20button%27s%20label%0A%09useFolderTitle%3A%20true%2C%0A%09//%20%22Select%20folder%22%20dialog%3A%0A%09dialogWidth%3A%20400%2C%0A%09dialogHeight%3A%20350%2C%0A%09dialogPersist%3A%20%22%22%20//%20Example%3A%20%22screenX%20screenY%20width%20height%22%0A%7D%3B%0A%0Afunction%20_localize%28s%2C%20key%29%20%7B%0A%09var%20strings%20%3D%20%7B%0A%09%09%22Select%20folder%22%3A%20%7B%0A%09%09%09ru%3A%20%22%u0412%u044B%u0431%u0435%u0440%u0438%u0442%u0435%20%u043F%u0430%u043F%u043A%u0443%22%0A%09%09%7D%2C%0A%09%09%22Root%20folder%22%3A%20%7B%0A%09%09%09ru%3A%20%22%u041A%u043E%u0440%u043D%u0435%u0432%u0430%u044F%20%u043F%u0430%u043F%u043A%u0430%22%0A%09%09%7D%0A%09%7D%3B%0A%09var%20locale%20%3D%20%28function%28%29%20%7B%0A%09%09var%20prefs%20%3D%20Services.prefs%3B%0A%09%09if%28%21prefs.getBoolPref%28%22intl.locale.matchOS%22%29%29%20%7B%0A%09%09%09var%20locale%20%3D%20prefs.getCharPref%28%22general.useragent.locale%22%29%3B%0A%09%09%09if%28locale.substr%280%2C%209%29%20%21%3D%20%22chrome%3A//%22%29%0A%09%09%09%09return%20locale%3B%0A%09%09%7D%0A%09%09return%20Components.classes%5B%22@mozilla.org/chrome/chrome-registry%3B1%22%5D%0A%09%09%09.getService%28Components.interfaces.nsIXULChromeRegistry%29%0A%09%09%09.getSelectedLocale%28%22global%22%29%3B%0A%09%7D%29%28%29.match%28/%5E%5Ba-z%5D*/%29%5B0%5D%3B%0A%09_localize%20%3D%20%21locale%20%7C%7C%20locale%20%3D%3D%20%22en%22%0A%09%09%3F%20function%28s%29%20%7B%0A%09%09%09return%20s%3B%0A%09%09%7D%0A%09%09%3A%20function%28s%29%20%7B%0A%09%09%09return%20strings%5Bs%5D%20%26amp%3B%26amp%3B%20strings%5Bs%5D%5Blocale%5D%20%7C%7C%20s%3B%0A%09%09%7D%3B%0A%09return%20_localize.apply%28this%2C%20arguments%29%3B%0A%7D%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u043A%u043D%u043E%u043F%u043A%u0438%20..............%0A//this.tooltipText%20%3D%20%22%u041B%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%5C%0A//%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CnCtrl-%u041B%3A%20%u0421%u043A%u0440%u044B%u0442%u044C/%u041F%u043E%u043A%u0430%u0437%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%5C%0A%20%20//%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%u041F%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u0435%u0434%u0436%u0435%u0440%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%22%3B%0A%0A%0Athis.ondblclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20if%28e.target%20%3D%3D%20this%20%26amp%3B%26amp%3B%20e.button%20%3D%3D%200%29%7B%0A%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20PlacesCommandHook.showBookmarksManager%28%27AllBookmarks%27%29%3B%0A%20%20%20%20%7D%20%20%20%0A%7D%3B%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%09if%28e.target%20%21%3D%20this%29%0A%09%09return%3B%0A%09%0A%09%0A%20%20%20%20//%20%u0434%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u041F%u041A%u041C%20....%20%20%20%20%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26amp%3B%26amp%3B%20%21e.ctrlKey%20%26amp%3B%26amp%3B%20%21e.shiftKey%20%26amp%3B%26amp%3B%20%21e.altKey%20%26amp%3B%26amp%3B%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%20PlacesCommandHook.bookmarkCurrentPage%28true%2C%20PlacesUtils.toolbarFolderId%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%7D%09%09%0A%09%09%0A%09%09%0A%09%09%0A%09if%28e.button%20%21%3D%202%20%26amp%3B%26amp%3B%20%21this.bookmarks.initialized%29%0A%09%09this.bookmarks.init%28%29%3B%0A%09else%20if%28e.button%20%3D%3D%201%20%7C%7C%20e.button%20%3D%3D%200%20%26amp%3B%26amp%3B%20%28e.shiftKey%20%7C%7C%20e.altKey%20%7C%7C%20e.metaKey%29%29%0A%09%09this.bookmarks.changeFolder%28%29%3B%0A%09else%20if%28e.button%20%3D%3D%201%20%7C%7C%20e.button%20%3D%3D%200%20%26amp%3B%26amp%3B%20%28e.ctrlKey%29%29%0A%09%09var%20bar%20%3D%20document.getElementById%28%22PersonalToolbar%22%29%3B%0A%20%20%20%20%20%20%20%20%20%09bar.collapsed%20%3D%20%21bar.collapsed%3B%0A%20%20%20%20%20%20%20%20%20%09document.persist%28%22PersonalToolbar%22%2C%20%21bar.collapsed%29%3B%09%09%0A%7D%3B%0Athis.onmousedown%20%3D%20function%28e%29%20%7B%0A%09if%28e.target%20%3D%3D%20this%20%26amp%3B%26amp%3B%20e.button%20%3D%3D%200%20%26amp%3B%26amp%3B%20%28e.ctrlKey%20%7C%7C%20e.shiftKey%20%7C%7C%20e.altKey%20%7C%7C%20e.metaKey%29%29%0A%09%09e.preventDefault%28%29%3B%0A%7D%3B%0Athis.onmouseover%20%3D%20function%28e%29%20%7B%0A%09if%28e.target%20%21%3D%20this%29%0A%09%09return%3B%0A%09Array.some%28%0A%09%09this.parentNode.getElementsByTagName%28%22*%22%29%2C%0A%09%09function%28node%29%20%7B%0A%09%09%09if%28%0A%09%09%09%09node%20%21%3D%20this%0A%09%09%09%09%26amp%3B%26amp%3B%20node.namespaceURI%20%3D%3D%20xulns%0A%09%09%09%09%26amp%3B%26amp%3B%20node.boxObject%0A%09%09%09%09%26amp%3B%26amp%3B%20node.boxObject%20instanceof%20Components.interfaces.nsIMenuBoxObject%0A%09%09%09%09%26amp%3B%26amp%3B%20node.open%0A%09%09%09%29%20%7B%0A%09%09%09%09node.open%20%3D%20false%3B%0A%09%09%09%09this.open%20%3D%20true%3B%0A%09%09%09%09return%20true%3B%0A%09%09%09%7D%0A%09%09%09return%20false%3B%0A%09%09%7D%2C%0A%09%09this%0A%09%29%3B%0A%7D%3B%0Athis.bookmarks%20%3D%20%7B%0A%09button%3A%20this%2C%0A%09get%20pref%28%29%20%7B%0A%09%09delete%20this.pref%3B%0A%09%09return%20this.pref%20%3D%20%22extensions.custombuttons.button%22%20+%20this.button.id.match%28/%5Cd*%24/%29%5B0%5D%20+%20%22.bookmarkFolder%22%3B%0A%09%7D%2C%0A%09get%20folder%28%29%20%7B%0A%09%09return%20Application.prefs.getValue%28this.pref%2C%20%22%22%29%3B%0A%09%7D%2C%0A%09set%20folder%28val%29%20%7B%0A%09%09Application.prefs.setValue%28this.pref%2C%20String%28val%29%29%3B%0A%09%7D%2C%0A%09get%20titlePref%28%29%20%7B%0A%09%09delete%20this.titlePref%3B%0A%09%09return%20this.titlePref%20%3D%20%22extensions.custombuttons.button%22%20+%20this.button.id.match%28/%5Cd*%24/%29%5B0%5D%20+%20%22.bookmarkFolderTitle%22%3B%0A%09%7D%2C%0A%09get%20folderTitle%28%29%20%7B%0A%09%09return%20Application.prefs.getValue%28this.titlePref%2C%20%22%22%29%3B%0A%09%7D%2C%0A%09set%20folderTitle%28val%29%20%7B%0A%09%09Application.prefs.setValue%28this.titlePref%2C%20val%29%3B%0A%09%7D%2C%0A%09get%20wm%28%29%20%7B%0A%09%09delete%20this.wm%3B%0A%09%09return%20this.wm%20%3D%20Components.classes%5B%22@mozilla.org/appshell/window-mediator%3B1%22%5D%0A%09%09%09.getService%28Components.interfaces.nsIWindowMediator%29%3B%0A%09%7D%2C%0A%09initialized%3A%20false%2C%0A%09init%3A%20function%28%29%20%7B%0A%09%09var%20folder%20%3D%20this.folder%3B%0A%09%09if%28%21folder%29%20%7B%0A%09%09%09folder%20%3D%20this.selectFolder%28%29%3B%0A%09%09%09if%28%21folder%29%0A%09%09%09%09return%3B%0A%09%09%09this.folder%20%3D%20folder%3B%0A%09%09%7D%0A%09%09var%20btn%20%3D%20this.button%3B%0A%09%09btn.setAttribute%28%22ondragenter%22%2C%20%22PlacesMenuDNDHandler.onDragEnter%28event%29%3B%22%29%3B%0A%09%09btn.setAttribute%28%22ondragover%22%2C%20%20%22PlacesMenuDNDHandler.onDragOver%28event%29%3B%22%29%3B%0A%09%09btn.setAttribute%28%22ondragexit%22%2C%20%20%22PlacesMenuDNDHandler.onDragExit%28event%29%3B%22%29%3B%0A%09//btn.setAttribute%28%22onmouseleave%22%2C%20%22this.mo%20%3D%20false%3B%20setTimeout%28function%28mp%29%20%7B%20if%20%28%20%21mp.mo%20%29%20mp.hidePopup%28%29%20%7D%2C%20200%2C%20this%29%22%29%3B%0A%20%20%20%20%20%20%20%20//btn.setAttribute%28%22onmouseover%22%2C%20%22this.mo%20%3D%20true%22%29%3B%0A%09%09//btn.setAttribute%28%22ondrop%22%2C%20%20%20%20%20%20%22PlacesMenuDNDHandler.onDrop%28event%29%3B%22%29%3B%0A%09%09btn.setAttribute%28%22ondrop%22%2C%20%20%20%20%20%20%22this.bookmarks.onDrop%28event%29%3B%22%29%3B%0A%09%09var%20mp%20%3D%20btn.getElementsByTagName%28%22menupopup%22%29%3B%0A%09%09mp.length%20%26amp%3B%26amp%3B%20mp%5B0%5D.parentNode.removeChild%28mp%5B0%5D%29%3B%0A%09%09mp%20%3D%20document.createElement%28%22menupopup%22%29%3B%0A%09%09mp.setAttribute%28%22context%22%2C%20%22placesContext%22%29%3B%0A%09%09mp.setAttribute%28%22placespopup%22%2C%20%22true%22%29%3B%0A%09%09var%20placeURI%20%3D%20folder.substr%280%2C%206%29%20%3D%3D%20%22place%3A%22%0A%09%09%09%3F%20folder%0A%09%09%09%3A%20%22place%3Afolder%3D%22%20+%20folder%20+%20%22%26amp%3BexcludeItems%3D0%26amp%3BexpandQueries%3D0%22%3B%0A%09%09placeURI%20%3D%20placeURI.replace%28/%22/g%2C%20%27%5C%5C%22%27%29%3B%0A%09%09mp.setAttribute%28%0A%09%09%09%22onpopupshowing%22%2C%0A%09%09%09%27this.parentNode.bookmarks.initMenu%28event%2C%20%22%27%20+%20placeURI%20+%20%27%22%29%3B%27%0A%09%09%29%3B%0A%09%09mp.setAttribute%28%22oncommand%22%2C%20%22BookmarksEventHandler.onCommand%28event%2C%20this.parentNode._placesView%29%3B%22%29%3B%0A%09%09mp.setAttribute%28%22onclick%22%2C%20%22BookmarksEventHandler.onClick%28event%2C%20this.parentNode._placesView%29%3B%22%29%3B%0A%09%09mp.setAttribute%28%22tooltip%22%2C%20%22bhTooltip%22%29%3B%0A%09%09mp.setAttribute%28%22popupsinherittooltip%22%2C%20%22true%22%29%3B%0A%09%09btn.appendChild%28mp%29%3B%0A%09%09options.useFolderTitle%20%26amp%3B%26amp%3B%20setTimeout%28function%28_this%29%20%7B%0A%09%09%09_this.setButtonTitle%28%29%3B%0A%09%09%7D%2C%200%2C%20this%29%3B%0A%0A%09%09this.initialized%20%3D%20true%3B%0A%09%7D%2C%0A%09initMenu%3A%20function%28event%2C%20placeURI%29%20%7B%0A%09%09var%20btn%20%3D%20this.button%3B%0A%09%09if%28%22_placesView%22%20in%20btn%29%0A%09%09%09return%3B%0A%09%09btn._placesMenu%20%3D%20new%20PlacesMenu%28event%2C%20placeURI%29%3B%0A%09%09if%28options.useFolderTitle%29%0A%09%09%09this.setButtonTitle%28btn._placesView._resultNode%20%26amp%3B%26amp%3B%20btn._placesView._resultNode.title%29%3B%0A%09%09//%20Add%20%22Open%20All%20in%20Tabs%22%20menuitem%0A%09%09try%20%7B%0A%09%09%09btn._placesView._mayAddCommandsItems.call%28%7B%0A%09%09%09%09_rootElt%3A%20null%2C%0A%09%09%09%09__proto__%3A%20btn._placesView%0A%09%09%09%7D%2C%20btn.firstChild%29%3B%0A%09%09%7D%0A%09%09catch%28e%29%20%7B%0A%09%09%09PlacesViewBase.prototype._mayAddCommandsItems%28btn.firstChild%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09destroy%3A%20function%28%29%20%7B%0A%09%09var%20btn%20%3D%20this.button%3B%0A%09%09if%28%21%28%22_placesMenu%22%20in%20btn%29%29%0A%09%09%09return%3B%0A%09%09try%20%7B%0A%09%09%09btn._placesMenu.uninit%28%29%3B%0A%09%09%7D%0A%09%09catch%28e%29%20%7B%0A%09%09%09Components.utils.reportError%28e%29%3B%0A%09%09%7D%0A%09%09delete%20btn._placesView%3B%0A%09%09delete%20btn._placesMenu%3B%0A%09%7D%2C%0A%09setButtonTitle%3A%20function%28title%29%20%7B%0A%09%09var%20btn%20%3D%20this.button%3B%0A%09%09if%28title%29%0A%09%09%09this.folderTitle%20%3D%20title%3B%0A%09%09else%0A%09%09%09title%20%3D%20this.folderTitle%3B%0A%09%09if%28title%29%0A%09%09%09btn.tooltipText%20%3D%20btn.label%20%3D%20%22%u041B%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CnCtrl-%u041B%3A%20%u0421%u043A%u0440%u044B%u0442%u044C/%u041F%u043E%u043A%u0430%u0437%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%u041F%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u0435%u0434%u0436%u0435%u0440%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%22%3B//title%3B%0A%09%7D%2C%0A%09initWithFolder%3A%20function%28folder%29%20%7B%0A%09%09this.destroy%28%29%3B%0A%09%09this.folder%20%3D%20folder%3B%0A%09%09var%20mp%20%3D%20this.button.firstChild%3B%0A%09%09mp.setAttribute%28%0A%09%09%09%22onpopupshowing%22%2C%0A%09%09%09mp.getAttribute%28%22onpopupshowing%22%29%0A%09%09%09%09.replace%28/%28place%3Afolder%3D%29%5Cw+/%2C%20%22%241%22%20+%20folder%29%0A%09%09%29%3B%0A%09%7D%2C%0A%09selectFolder%3A%20function%28%29%20%7B%0A%09%09var%20winType%20%3D%20this.button.id%20+%20%22%3Adialog%22%3B%0A%09%09var%20win%20%3D%20this.wm.getMostRecentWindow%28winType%29%3B%0A%09%09if%28win%29%20%7B%0A%09%09%09win.focus%28%29%3B%0A%09%09%09return%20null%3B%0A%09%09%7D%0A%09%09//%20https%3A//developer.mozilla.org/en/Displaying_Places_information_using_views%0A%09%09var%20rootFolder%20%3D%20PlacesUIUtils.allBookmarksFolderId%3B%0A%09%09var%20placesOverlay%20%3D%20Application.name%20%3D%3D%20%22SeaMonkey%22%0A%09%09%09%3F%20%27%5Cn%5C%0A%09%09%09%26lt%3B%3Fxml-stylesheet%20href%3D%22chrome%3A//communicator/skin/bookmarks/bookmarks.css%22%3F%26gt%3B%5Cn%5C%0A%09%09%09%26lt%3B%3Fxml-stylesheet%20href%3D%22chrome%3A//communicator/content/places/places.css%22%3F%26gt%3B%5Cn%5C%0A%09%09%09%26lt%3B%3Fxul-overlay%20href%3D%22chrome%3A//communicator/content/bookmarks/placesOverlay.xul%22%3F%26gt%3B%27%0A%09%09%09%3A%20%27%5Cn%5C%0A%09%09%09%26lt%3B%3Fxml-stylesheet%20href%3D%22chrome%3A//browser/content/places/places.css%22%3F%26gt%3B%5Cn%5C%0A%09%09%09%26lt%3B%3Fxml-stylesheet%20href%3D%22chrome%3A//browser/skin/places/places.css%22%3F%26gt%3B%5Cn%5C%0A%09%09%09%26lt%3B%3Fxul-overlay%20href%3D%22chrome%3A//browser/content/places/placesOverlay.xul%22%3F%26gt%3B%27%3B%0A%09%09//%20Note%3A%20%26lt%3Bproperty%20name%3D%22view%22%26gt%3B%20from%20chrome%3A//communicator/content/places/tree.xml%23places-tree%0A%09%09//%20are%20null%20sometimes.%0A%09%09//%20We%20are%20trying%20to%20re-apply%20binding%20as%20a%20workaround.%0A%09%09var%20persist%20%3D%20options.dialogPersist%3B%0A%09%09if%28persist%29%20%7B%0A%09%09%09persist%20%3D%20%27%5Cn%5C%0A%09%09%09%09persist%3D%22%27%20+%20persist%20+%20%27%22%27%3B%0A%09%09%7D%0A%09%09var%20winSrc%20%3D%20%27%5C%0A%09%09%09%26lt%3B%3Fxml%20version%3D%221.0%22%3F%26gt%3B%5Cn%5C%0A%09%09%09%26lt%3B%3Fxml-stylesheet%20href%3D%22chrome%3A//global/skin/%22%20type%3D%22text/css%22%3F%26gt%3B%27%0A%09%09%09+%20placesOverlay%20+%20%27%5Cn%5C%0A%09%09%09%26lt%3Bdialog%20xmlns%3D%22%27%20+%20xulns%20+%20%27%22%5Cn%5C%0A%09%09%09%09id%3D%22%27%20+%20this.button.id%20+%20%22-dialog%22%20+%20%27%22%5Cn%5C%0A%09%09%09%09windowtype%3D%22%27%20+%20winType%20+%20%27%22%5Cn%5C%0A%09%09%09%09title%3D%22%27%20+%20_localize%28%22Select%20folder%22%29%20+%20%27%22%5Cn%5C%0A%09%09%09%09buttons%3D%22accept%2Ccancel%22%5Cn%5C%0A%09%09%09%09onload%3D%22init%28%29%3B%22%5Cn%5C%0A%09%09%09%09ondialogaccept%3D%22return%20dialogCallback%28%29%3B%22%5Cn%5C%0A%09%09%09%09width%3D%22%27%20+%20options.dialogWidth%20+%20%27%22%5Cn%5C%0A%09%09%09%09height%3D%22%27%20+%20options.dialogHeight%20+%20%27%22%27%20+%20persist%20+%20%27%26gt%3B%5Cn%5C%0A%09%09%09%09%26lt%3Bkeyset%26gt%3B%5Cn%5C%0A%09%09%09%09%09%26lt%3Bkey%20id%3D%22key-accept%22%20keycode%3D%22VK_RETURN%22%20modifiers%3D%22control%22%5Cn%5C%0A%09%09%09%09%09%09oncommand%3D%22document.documentElement.acceptDialog%28%29%3B%22%20/%26gt%3B%5Cn%5C%0A%09%09%09%09%26lt%3B/keyset%26gt%3B%5Cn%5C%0A%09%09%09%09%26lt%3Btree%20id%3D%22tree%22%20type%3D%22places%22%5Cn%5C%0A%09%09%09%09%09place%3D%22place%3AexcludeItems%3D1%26amp%3Bamp%3BexcludeQueries%3D1%26amp%3Bamp%3Bfolder%3D%27%20+%20rootFolder%20+%20%27%22%5Cn%5C%0A%09%09%09%09%09hidecolumnpicker%3D%22true%22%20seltype%3D%22single%22%20flex%3D%221%22%5Cn%5C%0A%09%09%09%09%09onselect%3D%22onSelect%28%29%3B%22%26gt%3B%5Cn%5C%0A%09%09%09%09%09%26lt%3Btreecols%26gt%3B%5Cn%5C%0A%09%09%09%09%09%09%26lt%3Btreecol%20id%3D%22title%22%20flex%3D%221%22%20primary%3D%22true%22%20hideheader%3D%22true%22%20/%26gt%3B%5Cn%5C%0A%09%09%09%09%09%26lt%3B/treecols%26gt%3B%5Cn%5C%0A%09%09%09%09%09%26lt%3Btreechildren%20/%26gt%3B%5Cn%5C%0A%09%09%09%09%26lt%3B/tree%26gt%3B%5Cn%5C%0A%09%09%09%09%26lt%3Bcheckbox%20id%3D%22root%22%20label%3D%22%27%20+%20_localize%28%22Root%20folder%22%29%20+%20%27%22%20oncommand%3D%22onSelect%28%29%3B%22%20/%26gt%3B%5Cn%5C%0A%09%09%09%09%26lt%3Bscript%20type%3D%22application/javascript%22%26gt%3B%26lt%3B%21%5BCDATA%5B%5Cn%5C%0A%09%09%09%09var%20%5BfolderId%2C%20rootFolder%2C%20callback%2C%20context%5D%20%3D%20window.arguments%3B%5Cn%5C%0A%09%09%09%09var%20tree%20%3D%20document.getElementById%28%22tree%22%29%3B%5Cn%5C%0A%09%09%09%09var%20root%20%3D%20document.getElementById%28%22root%22%29%3B%5Cn%5C%0A%09%09%09%09function%20init%28%29%20%7B%5Cn%5C%0A%09%09%09%09%09if%28%21ensurePlacesBinding%28init%2C%20this%2C%20arguments%29%29%5Cn%5C%0A%09%09%09%09%09%09return%3B%5Cn%5C%0A%09%09%09%09%09if%28folderId%20%3D%3D%20rootFolder%29%5Cn%5C%0A%09%09%09%09%09%09root.checked%20%3D%20true%3B%5Cn%5C%0A%09%09%09%09%09else%20if%28folderId%20%21%3D%20undefined%29%20%7B%5Cn%5C%0A%09%09%09%09%09%09tree.selectItems%28%5BfolderId%5D%29%3B%5Cn%5C%0A%09%09%09%09%09%09var%20i%20%3D%20tree.view.selection.currentIndex%3B%5Cn%5C%0A%09%09%09%09%09%09if%28i%20%21%3D%20-1%29%20%7B%5Cn%5C%0A%09%09%09%09%09%09%09setTimeout%28function%28%29%20%7B%5Cn%5C%0A%09%09%09%09%09%09%09%09tree.treeBoxObject.ensureRowIsVisible%28i%29%3B%5Cn%5C%0A%09%09%09%09%09%09%09%7D%2C%200%29%3B%5Cn%5C%0A%09%09%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09%09onSelect%28%29%3B%5Cn%5C%0A%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09function%20onSelect%28dis%29%20%7B%5Cn%5C%0A%09%09%09%09%09if%28%21ensurePlacesBinding%28onSelect%2C%20this%2C%20arguments%29%29%5Cn%5C%0A%09%09%09%09%09%09return%3B%5Cn%5C%0A%09%09%09%09%09if%28%21arguments.length%29%5Cn%5C%0A%09%09%09%09%09%09dis%20%3D%20%21root.checked%20%26amp%3B%26amp%3B%20%21tree.view.selection.getRangeCount%28%29%3B%5Cn%5C%0A%09%09%09%09%09document.documentElement.getButton%28%22accept%22%29.disabled%20%3D%20dis%3B%5Cn%5C%0A%09%09%09%09%09disableTree%28root.checked%29%3B%5Cn%5C%0A%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09function%20ensurePlacesBinding%28func%2C%20context%2C%20args%29%20%7B%5Cn%5C%0A%09%09%09%09%09if%28tree.view%20%26amp%3B%26amp%3B%20tree.selectItems%29%5Cn%5C%0A%09%09%09%09%09%09return%20true%3B%5Cn%5C%0A%09%09%09%09%09%5C//%20Try%20re-apply%20binding%2C%20hack%20for%20SeaMonkey%5Cn%5C%0A%09%09%09%09%09tree.removeAttribute%28%22type%22%29%3B%5Cn%5C%0A%09%09%09%09%09setTimeout%28function%28%29%20%7B%5Cn%5C%0A%09%09%09%09%09%09tree.setAttribute%28%22type%22%2C%20%22places%22%29%3B%5Cn%5C%0A%09%09%09%09%09%09setTimeout%28function%28%29%20%7B%5Cn%5C%0A%09%09%09%09%09%09%09func.apply%28context%2C%20args%29%3B%5Cn%5C%0A%09%09%09%09%09%09%7D%2C%200%29%3B%5Cn%5C%0A%09%09%09%09%09%7D%2C%200%29%3B%5Cn%5C%0A%09%09%09%09%09return%20false%3B%5Cn%5C%0A%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09function%20disableTree%28dis%29%20%7B%5Cn%5C%0A%09%09%09%09%09var%20treechildren%20%3D%20tree.getElementsByTagName%28%22treechildren%22%29%5B0%5D%3B%5Cn%5C%0A%09%09%09%09%09if%28dis%29%20%7B%5Cn%5C%0A%09%09%09%09%09%09treechildren.style.opacity%20%3D%20%220.6%22%3B%5Cn%5C%0A%09%09%09%09%09%09tree.setAttribute%28%22disabled%22%2C%20%22true%22%29%3B%5Cn%5C%0A%09%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09%09else%20%7B%5Cn%5C%0A%09%09%09%09%09%09treechildren.style.opacity%20%3D%20%22%22%3B%5Cn%5C%0A%09%09%09%09%09%09tree.removeAttribute%28%22disabled%22%29%3B%5Cn%5C%0A%09%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09function%20dialogCallback%28%29%20%7B%5Cn%5C%0A%09%09%09%09%09if%28root.checked%29%5Cn%5C%0A%09%09%09%09%09%09var%20id%20%3D%20rootFolder%3B%5Cn%5C%0A%09%09%09%09%09else%20%7B%5Cn%5C%0A%09%09%09%09%09%09var%20view%20%3D%20tree.view%3B%5Cn%5C%0A%09%09%09%09%09%09var%20i%20%3D%20view.selection.currentIndex%3B%5Cn%5C%0A%09%09%09%09%09%09if%28i%20%3D%3D%20-1%29%5Cn%5C%0A%09%09%09%09%09%09%09return%20false%3B%5Cn%5C%0A%09%09%09%09%09%09var%20item%20%3D%20view.nodeForTreeIndex%28i%29%3B%5Cn%5C%0A%09%09%09%09%09%09if%28item%29%20%7B%5Cn%5C%0A%09%09%09%09%09%09%09var%20id%20%3D%20/place%3Afolder%3D%28%5C%5Cw+%29/.test%28item.uri%29%5Cn%5C%0A%09%09%09%09%09%09%09%09%3F%20RegExp.%241%5Cn%5C%0A%09%09%09%09%09%09%09%09%3A%20item.itemId%3B%5Cn%5C%0A%09%09%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09%09callback.call%28context%2C%20id%29%3B%5Cn%5C%0A%09%09%09%09%09return%20true%3B%5Cn%5C%0A%09%09%09%09%7D%5Cn%5C%0A%09%09%09%09onSelect%28false%29%3B%5Cn%5C%0A%09%09%09%09%5D%5D%26gt%3B%26lt%3B/script%26gt%3B%5Cn%5C%0A%09%09%09%26lt%3B/dialog%26gt%3B%27%3B%0A%09%09var%20folder%3B%0A%09%09var%20callback%20%3D%20function%28folderId%29%20%7B%0A%09%09%09folder%20%3D%20folderId%3B%0A%09%09%7D%3B%0A%09%09var%20folderId%20%3D%20this.getFolderId%28this.folder%29%3B%0A%09%09window.openDialog%28%0A%09%09%09%22data%3Aapplication/vnd.mozilla.xul+xml%2C%22%20+%20encodeURIComponent%28winSrc.replace%28/%5E%5Cs+/%2C%20%22%22%29%29%2C%0A%09%09%09%22_blank%22%2C%0A%09%09%09%22chrome%2Call%2Cresizable%2Ccenterscreen%2Cmodal%22%2C%0A%09%09%09folderId%2C%20rootFolder%2C%20callback%2C%20this%0A%09%09%29%3B%0A%09%09if%28folder%20%26amp%3B%26amp%3B%20options.useFolderTitle%29%20setTimeout%28function%28btn%29%20%7B%0A%09%09%09var%20mp%20%3D%20btn.firstChild%3B%0A%09%09%09mp.collapsed%20%3D%20true%3B%0A%09%09%09btn.open%20%3D%20true%3B%0A%09%09%09btn.open%20%3D%20false%3B%0A%09%09%09mp.collapsed%20%3D%20false%3B%0A%09%09%7D%2C%20100%2C%20this.button%29%3B%0A%09%09return%20folder%3B%0A%09%7D%2C%0A%09changeFolder%3A%20function%28%29%20%7B%0A%09%09if%28%21this.initialized%29%20%7B%0A%09%09%09this.init%28%29%3B%0A%09%09%09return%3B%0A%09%09%7D%0A%09%09var%20folder%20%3D%20this.selectFolder%28%29%3B%0A%09%09if%28%21folder%29%0A%09%09%09return%3B%0A%09%09this.initWithFolder%28folder%29%3B%0A%0A%09%09var%20ws%20%3D%20this.wm.getEnumerator%28%22navigator%3Abrowser%22%29%3B%0A%09%09while%28ws.hasMoreElements%28%29%29%20%7B%0A%09%09%09let%20w%20%3D%20ws.getNext%28%29%3B%0A%09%09%09if%28w%20%3D%3D%20window%29%0A%09%09%09%09continue%3B%0A%09%09%09let%20btn%20%3D%20w.document.getElementById%28this.button.id%29%3B%0A%09%09%09btn%20%26amp%3B%26amp%3B%20btn.bookmarks.initWithFolder%28folder%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09getFolderId%3A%20function%28folder%29%20%7B%0A%09%09if%28/%5E%5Cd+%24/.test%28folder%29%29%0A%09%09%09return%20Number%28folder%29%3B%0A%09%09var%20bmsvc%20%3D%20Components.classes%5B%22@mozilla.org/browser/nav-bookmarks-service%3B1%22%5D%0A%09%09%09.getService%28Components.interfaces.nsINavBookmarksService%29%3B%0A%09%09switch%28folder%29%20%7B%0A%09%09%09case%20%22BOOKMARKS_MENU%22%3A%20%20%20%20return%20bmsvc.bookmarksMenuFolder%3B%0A%09%09%09case%20%22TOOLBAR%22%3A%20%20%20%20%20%20%20%20%20%20%20return%20bmsvc.toolbarFolder%3B%0A%09%09%09case%20%22UNFILED_BOOKMARKS%22%3A%20return%20bmsvc.unfiledBookmarksFolder%3B%0A%09%09%7D%0A%09%09return%20undefined%3B%0A%09%7D%2C%0A%09placesDrop%3A%20function%28event%2C%20folder%29%20%7B%0A%09%09//%20Based%20on%20PlacesMenuDNDHandler.onDrop%28event%29%20function%0A%09%09try%20%7B%0A%09%09%20%20%20%20var%20ip%20%3D%20new%20InsertionPoint%28folder%2C%20PlacesUtils.bookmarks.DEFAULT_INDEX%2C%20Ci.nsITreeView.DROP_ON%29%3B%0A%09%09%20%20%20%20PlacesControllerDragHelper.onDrop%28ip%2C%20event.dataTransfer%29%3B%0A%09%09%20%20%20%20event.stopPropagation%28%29%3B%0A%09%20%20%20%20%7D%0A%09%20%20%20%20catch%28e%29%20%7B%0A%09%20%20%20%20%09Components.utils.reportError%28e%29%3B%0A%09%20%20%20%20%7D%0A%09%7D%2C%0A%09onDrop%3A%20function%28e%29%20%7B%0A%09%09var%20folder%20%3D%20this.folder%3B%0A%09%09if%28e.target%20%21%3D%20this.button%20%7C%7C%20%21folder%29%20%7B%0A%09%09%09PlacesMenuDNDHandler.onDrop%28e%29%3B%0A%09%09%09return%3B%0A%09%09%7D%0A%09%09var%20folderId%20%3D%20this.getFolderId%28folder%29%3B%0A%09%09if%28folderId%29%0A%09%09%09this.placesDrop%28e%2C%20folderId%29%3B%0A%09%09else%0A%09%09%09PlacesMenuDNDHandler.onDrop%28e%29%3B%0A%09%7D%0A%7D%3B%0A%0Athis.type%20%3D%20%22menu%22%3B%0Athis.orient%20%3D%20%22horizontal%22%3B%0Aif%28options.hideDropMarker%20%7C%7C%20options.showLabel%20%21%3D%20undefined%29%20%7B%0A%09let%20btn%20%3D%20this%3B%0A%09let%20doc%20%3D%20btn.ownerDocument%3B%0A%09let%20stopTime%20%3D%20Date.now%28%29%20+%20500%3B%0A%09setTimeout%28function%20tweakButton%28%29%20%7B%20//%20Wait%20for%20menu%20XBL%20binding%0A%09%09var%20dm%20%3D%20options.hideDropMarker%0A%09%09%09%26amp%3B%26amp%3B%20doc.getAnonymousElementByAttribute%28btn%2C%20%22class%22%2C%20%22toolbarbutton-menu-dropmarker%22%29%3B%0A%09%09var%20lb%20%3D%20options.showLabel%20%21%3D%20undefined%0A%09%09%09%26amp%3B%26amp%3B%20doc.getAnonymousElementByAttribute%28btn%2C%20%22class%22%2C%20%22toolbarbutton-text%22%29%3B%0A%09%09if%28dm%29%20%7B%0A%09%09%09dm.hidden%20%3D%20true%3B%0A%09%09%09//%20Hack%20for%20Firefox%2019%20and%20large%20icons%0A%09%09%09let%20icon%20%3D%20doc.getAnonymousElementByAttribute%28btn%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%09%09%09if%28icon%29%20%7B%0A%09%09%09%09let%20s%20%3D%20doc.defaultView.getComputedStyle%28icon%2C%20null%29%3B%0A%09%09%09%09if%28s.paddingRight%20%21%3D%20s.paddingLeft%29%0A%09%09%09%09%09icon.style.paddingLeft%20%3D%20icon.style.paddingRight%20%3D%20s.paddingLeft%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%09if%28lb%29%0A%09%09%09lb.style.display%20%3D%20options.showLabel%20%3F%20%22-moz-box%22%20%3A%20%22none%22%3B%0A%09%09if%28%21dm%20%26amp%3B%26amp%3B%20%21lb%20%26amp%3B%26amp%3B%20Date.now%28%29%20%26lt%3B%20stopTime%29%0A%09%09%09setTimeout%28tweakButton%2C%2010%29%3B%0A%09%7D%2C%200%29%3B%0A%7D%0A%0AsetTimeout%28function%28_this%29%20%7B%20//%20Don%27t%20show%20modal%20%22Select%20folder%22%20dialog%20during%20initialization%0A%09_this.bookmarks.init%28%29%3B%0A%7D%2C%200%2C%20this%29%3B%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%09this.bookmarks.destroy%28%29%3B%0A%7D%3B%0A%0A%0A%0A//%20%u0423%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0430%u043C%u0438%2C%20%u043E%u0442%2025.10.2014.%20................................%20%0A%28function%20func%28%29%20%7B%0A%20%20%20//%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0433%u0434%u0435%20%u043B%u0435%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%20%u0432%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%0A%20%20%20var%20current%20%3D%20%5B%22about%3Anewtab%22%2C%20%22about%3Ablank%22%2C%20%22chrome%3A//browser/content/bookmarks/bookmarksPanel.xul%22%2C%20%22%22%5D%3B%20%0A%20%20%20%0A%20%20%20const%20background%20%3D%20true%3B%20%20%20%20%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%20%u0432%20%u0444%u043E%u043D%u043E%u0432%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%0A%20%20%20const%20nextToCurrent%20%3D%20false%3B%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%20%u0440%u044F%u0434%u043E%u043C%20%u0441%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u043E%u0439%0A%20%20%20const%20menuAutoClose%20%3D%20true%3B%20%20%20//%20%u0430%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0438%20%u0437%u0430%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%20%u043F%u0440%u0438%20%u0443%u0445%u043E%u0434%u0435%20%u043A%u0443%u0440%u0441%u043E%u0440%u0430%0A%20%20%20%0A%20%20%20function%20handleClick%28e%29%20%7B%20%0A%20%20%20%20%20%20var%20target%20%3D%20e.originalTarget%3B%0A%20%20%20%20%20%20var%20sidebar%20%3D%20target.ownerDocument.defaultView.top%20%21%3D%3D%20content%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26amp%3B%26amp%3B%20target.id%20%3D%3D%20%27bookmarks-view-children%27%3B%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%20%20%20//if%20%28%20target.localName%20%3D%3D%20%27menuitem%27%20%29%20LOG%28%27%u0423%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0430%u043C%u0438%20%20%20%27%20+%20target.getAttribute%28%27targetURI%27%29%29%3B%0A%0A%20%20%20%20%20%20if%20%28%20%21sidebar%20%26amp%3B%26amp%3B%20%21target._placesNode%20%29%20return%3B%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u043D%u0435%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0430%2C%20%u043F%u0430%u043F%u043A%u0430%2C%20%u0440%u0430%u0437%u0434%u0435%u043B%u0438%u0442%u0435%u043B%u044C%20%0A%0A%20%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%2C%20%u0430%u0434%u0440%u0435%u0441%2C%20%u043F%u0430%u043F%u043A%u0443%20%u0438%20id%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%2C%20%u0434%u0440%u0443%u0433%u0438%u0435%20%u043F%u0435%u0440%u0435%u043C%u0435%u043D%u043D%u044B%u0435%0A%20%20%20%20%20%20if%20%28%20sidebar%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20var%20tree%20%3D%20target.parentNode%3B%0A%20%20%20%20%20%20%20%20%20%20%20var%20box%20%3D%20tree.treeBoxObject%3B%0A%20%20%20%20%20%20%20%20%20%20%20var%20row%20%3D%20box.getRowAt%28e.clientX%2C%20e.clientY%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20var%20node%20%3D%20tree.view.nodeForTreeIndex%28row%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20node%20%3D%20sidebar%20%3F%20node%20%3A%20target._placesNode%2C%0A%20%20%20%20%20%20id%20%3D%20node.itemId%2C%20uri%20%3D%20node.uri%2C%20button%20%3D%20e.button%2C%20type%20%3D%20e.type%2C%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20isFolder%20%3D%20PlacesUtils.nodeIsContainer%28node%29%2C%20isURI%20%3D%20PlacesUtils.nodeIsURI%28node%29%3B%0A%0A%20%20%20%20%20%20//%20%u0434%u0432%u043E%u0439%u043D%u043E%u0439%20%u043A%u043B%u0438%u043A%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%20%u0438%u043B%u0438%20%u0443%u0434%u0430%u043B%u044F%u0435%u0442%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%2C%20%u0440%u0430%u0437%u0434%u0435%u043B%u0438%u0442%u0435%u043B%u044C%20....%0A%20%20%20%20%20%20if%20%28%20button%20%21%3D%3D%201%20%26amp%3B%26amp%3B%20type%20%3D%3D%20%27mouseup%27%20%29%20%7B%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%20%20%20%20if%20%28%20button%20%3D%3D%200%20%26amp%3B%26amp%3B%20func.flag%20%3D%3D%20true%20%26amp%3B%26amp%3B%20isFolder%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addBookmark%28node%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20sidebar%20%26amp%3B%26amp%3B%20tree.view.toggleOpenState%28row%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%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%20%20%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20button%20%3D%3D%202%20%26amp%3B%26amp%3B%20func.flag%20%3D%3D%20true%20%26amp%3B%26amp%3B%20%21isFolder%20%29%20%7B%20%20%20%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%20%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20target.ownerDocument.getElementById%28%22placesContext%22%29.hidePopup%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%20PlacesUtils.bookmarks.removeItem%28id%29%20%7D%20catch%28e%29%20%7B%7D%3B%20%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%20%20%20%20%20%20%20%20%20%7D%2C%200%29%3B%20%0A%20%20%20%20%20%20%20%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%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20func.flag%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20func.flag%20%3D%20false%2C%20400%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20if%20%28%20isFolder%20%29%20return%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20%u0441%u0442%u043E%u043F%2C%20%u0435%u0441%u043B%u0438%20%u043F%u0430%u043F%u043A%u0430%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%0A%20%20%20%20%20%20if%20%28%20button%20%3D%3D%200%20%29%20window.clearTimeout%28%20func.timer%20%29%3B%20%20//%20%u0441%u0431%u0440%u043E%u0441%u0438%u0442%u044C%20%u0442%u0430%u0439%u043C%u0435%u0440%20%u0434%u043B%u0438%u043D%u043D%u043E%u0433%u043E%20%u043A%u043B%u0438%u043A%u0430%20%20%20%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20//%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0434%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u043E%20%u0443%u043C%u043E%u043B%u0447%u0430%u043D%u0438%u044E%20%u0434%u043B%u044F%20%u043A%u043B%u0438%u043A%u0430%20%u0438%20%u043E%u0442%u0436%u0430%u0442%u0438%u044F%20....%0A%20%20%20%20%20%20if%20%28%20button%20%21%3D%3D%202%20%26amp%3B%26amp%3B%20/click%7Cmouseup/.test%28type%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%20e.stopPropagation%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20%u043B%u0435%u0432%u044B%u0439%20%u0434%u043B%u0438%u043D%u043D%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0442%u0435%u043A%u0443%u0449%u0443%u044E%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%20%u0432%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%20%u043F%u043E%u0434%20%u043D%u0430%u0436%u0430%u0442%u043E%u0439%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u043E%u0439%20....%0A%20%20%20%20%20%20if%20%28%20button%20%3D%3D%200%20%26amp%3B%26amp%3B%20type%20%3D%3D%20%27mousedown%27%20%29%20%7B%20%20%20%20%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%20%20%20%20func.loadBook%20%3D%20true%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20func.timer%20%3D%20setTimeout%28function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20func.loadBook%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addBookmark%28node.parent%2C%20id%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20400%20%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20%u043B%u0435%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0438%u043B%u0438%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20....%20%20%20%20%20%20%0A%20%20%20%20%20%20if%20%28%20button%20%3D%3D%200%20%26amp%3B%26amp%3B%20type%20%3D%3D%20%27mouseup%27%20%26amp%3B%26amp%3B%20func.loadBook%20%26amp%3B%26amp%3B%20isURI%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%28%20uri.startsWith%28%22javascript%22%29%20%7C%7C%20current.indexOf%28content.location.href%29%20%21%3D%3D%20-1%20%7C%7C%20e.ctrlKey%20%29%20%0A%20%20%20%20%20%20%20%20%20%20%20%3F%20gBrowser.loadURI%28%20uri%20%29%20%0A%20%20%20%20%20%20%20%20%20%20%20%3A%20gBrowser.loadOneTab%28%20uri%2C%20%7BrelatedToCurrent%3A%20nextToCurrent%2C%20inBackground%3A%20background%2C%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%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20referrerURI%3A%20null%20%7D%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20//%20%u0441%u0440%u0435%u0434%u043D%u0438%u0439%20%u043A%u043B%u0438%u043A%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0443%20%u0432%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20....%0A%20%20%20%20%20%20if%20%28%20button%20%3D%3D%201%20%26amp%3B%26amp%3B%20type%20%3D%3D%20%27click%27%20%26amp%3B%26amp%3B%20isURI%20%29%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20gBrowser.loadURI%28%20uri%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20//%20%u0430%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0438%20%u0437%u0430%u043A%u0440%u044B%u0442%u044C%20%u0432%u0441%u0435%20%u043C%u0435%u043D%u044E%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%20%u043F%u0440%u0438%20%u0443%u0445%u043E%u0434%u0435%20%u043A%u0443%u0440%u0441%u043E%u0440%u0430%20....%20%0A%20%20%20%20%20%20var%20menu%20%3D%20target.parentNode%3B%0A%20%20%20%20%20%20if%20%28%20%21menuAutoClose%20%7C%7C%20%21menu%20%7C%7C%20menu.localName%20%21%3D%3D%20%27menupopup%27%20%7C%7C%20type%20%21%3D%3D%20%27click%27%20%7C%7C%20button%20%3D%3D%202%20%29%20return%3B%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%20%20%20%20%20%20%0A%20%20%20%20%20%20menu.onmouseover%20%3D%20function%28%29%20menu.f%20%3D%20true%3B%0A%20%20%20%20%20%20menu.onmouseleave%20%3D%20function%28%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20menu.f%20%3D%20false%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20menu.f%20%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20for%20%28%20var%20node%20%3D%20menu%3B%20node%3B%20node%20%3D%20node.parentNode%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20node.nodeName%20%3D%3D%20%27menupopup%27%20%26amp%3B%26amp%3B%20node.hidePopup%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20menu.onmouseleave%20%3D%20null%3B%0A%20%20%20%20%20%20%20%20%20%7D%2C%20500%29%3B%20%20%20%20%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%7D%3B%0A%20%20%20%5B%22click%22%2C%20%22dragstart%22%2C%20%22mouseup%22%2C%20%22mousedown%22%5D%0A%20%20%20.forEach%28function%28type%29%20addEventListener%28type%2C%20handleClick%2C%20true%29%20%29%3B%0A%20%20%20%0A%20%20%20%0A%20%20%20//%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0443%20%u0432%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%20%u0432%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u043E%u0439%20%u043F%u0430%u043F%u043A%u0435%20....%0A%20%20%20function%20addBookmark%28folder%2C%20id%29%20%7B%0A%20%20%20%20%20%20var%20title%20%3D%20gBrowser.mCurrentTab.label%3B%0A%20%20%20%20%20%20var%20folderId%20%3D%20PlacesUtils.getConcreteItemId%28folder%29%3B%0A%20%20%20%20%20%20var%20index%20%3D%20id%20%3F%20PlacesUtils.bookmarks.getItemIndex%28id%29%20+%201%20%3A%200%3B%0A%20%20%20%20%20%20var%20readOnlyFolder%20%3D%20PlacesUtils.nodeIsQuery%28folder%29%20%7C%7C%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%20%20%20PlacesUtils.annotations.itemHasAnnotation%28folderId%2C%20PlacesUtils.LMANNO_FEEDURI%29%3B%0A%20%20%20%20%20%20if%20%28%20%21readOnlyFolder%20%29%0A%20%20%20%20%20%20%20%20%20%20%20PlacesUtils.bookmarks.insertBookmark%28folderId%2C%20gBrowser.currentURI%2C%20index%2C%20title%29%3B%0A%0A%20%20%20%20%20%20//%20%u0432%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0430%u044F%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%0A%20%20%20%20%20%20if%20%28%20id%20%29%20return%3B%0A%20%20%20%20%20%20var%20al%20%3D%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%3B%0A%20%20%20%20%20%20if%20%28%20readOnlyFolder%20%29%20%7B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20al.showAlertNotification%28%22chrome%3A//global/skin/icons/error-16.png%22%2C%20folder.title%2C%20%22%u041D%u0435%20%u043F%u043E%u0434%u0434%u0435%u0440%u0436%u0438%u0432%u0430%u0435%u0442%u0441%u044F%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20icon%20%3D%20gBrowser.mCurrentTab.image%20%7C%7C%20%22chrome%3A//global/skin/icons/information-16.png%22%3B%0A%20%20%20%20%20%20al.showAlertNotification%28icon%2C%20%22%u0414%u043E%u0431%u0430%u0432%u0438%u043B%20%u0432%20%u043F%u0430%u043F%u043A%u0443%20%22%20+%20%28folder.title%20%7C%7C%20%22%28%u0431%u0435%u0437%20%u0437%u0430%u0433%u043E%u043B%u043E%u0432%u043A%u0430%29%22%29%20+%20%22%3A%22%2C%20title.slice%280%2C%20100%29%29%3B%0A%20%20%20%7D%3B%20%20%20%20%0A%7D%29%28%29%3B%0A%0A%0A%0A//%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u043D%u043E%u0432%u044B%u0439%20%u043F%u0443%u043D%u043A%u0442%20%22%u0412%u043E%u0441%u0441%u0442%u0430%u043D%u043E%u0432%u0438%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0438%20%u0432%u0441%u0435%u0445%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%22%20%u0432%20%u043C%u0435%u043D%u044E%20%22%u0417%u0430%u043A%u043B%u0430%u0434%u043A%u0438%22%2C%20%u043E%u0442%2002.08.2014.%20................................%0A%28function%28%29%20%7B%0A%20%20%20//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u043E%u0432%u044B%u0439%20%u043F%u0443%u043D%u043A%u0442%20%u0432%20%u043C%u0435%u043D%u044E%20....%0A%20%20%20var%20menuitem%20%3D%20document.createElement%28%22menuitem%22%29%3B%20%20%20%0A%20%20%20menuitem.setAttribute%28%22label%22%2C%20%22%u0412%u043E%u0441%u0441%u0442%u0430%u043D%u043E%u0432%u0438%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0438%20%u0432%u0441%u0435%u0445%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%22%29%3B%0A%20%20%20var%20sep%20%3D%20document.getElementById%28%22organizeBookmarksSeparator%22%29%3B%20%0A%20%20%20sep.parentNode.insertBefore%28%20menuitem%2C%20sep%20%29%3B%20%20%20%0A%20%20%20addDestructor%28function%28%29%20%7B%20sep.parentNode.removeChild%28%20menuitem%20%29%20%7D%29%3B%0A%20%20%20addEventListener%28%22click%22%2C%20function%28%29%20chooseBookmarks%281%29%2C%20false%2C%20menuitem%20%29%3B%20//%20%u0435%u0441%u043B%u0438%20%u043A%u043B%u0438%u043A%20%u043D%u0430%20%u043F%u0443%u043D%u043A%u0442%u0435%20%u043C%u0435%u043D%u044E%20%20%20%20%20%0A%20%20%20%0A%0A%20%20%20//%20%u041F%u0435%u0440%u0435%u0431%u0440%u0430%u0442%u044C%20%u0432%u0441%u0435%20http%28s%29%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%20....%20%0A%20%20%20function%20chooseBookmarks%28%20id%20%29%20%7B%0A%20%20%20%20%20%20var%20folder%20%3D%20PlacesUtils.getFolderContents%28%20id%20%29.root%3B%0A%20%20%20%0A%20%20%20%20%20%20folder.QueryInterface%28Ci.nsINavHistoryContainerResultNode%29%3B%0A%20%20%20%20%20%20folder.containerOpen%20%3D%20true%3B%0A%0A%20%20%20%20%20%20for%20%28%20var%20i%20%3D%200%3B%20i%20%26lt%3B%20folder.childCount%3B%20i++%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20child%20%3D%20folder.getChild%28i%29%3B%0A%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20PlacesUtils.nodeIsFolder%28%20child%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20chooseBookmarks%28%20child.itemId%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%3A%20child.uri.startsWith%28%22http%22%29%20%26amp%3B%26amp%3B%20child.icon%20%3D%3D%20%27%27%20%26amp%3B%26amp%3B%20getSiteFavicon%28%20child.uri%20%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%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20folder.containerOpen%20%3D%20false%3B%0A%20%20%20%7D%3B%0A%0A%0A%20%20%20//%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0438%20%u043A%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0430%u043C%20%u0441%20%u043E%u0434%u0438%u043D%u0430%u043A%u043E%u0432%u044B%u043C%u0438%20%u0430%u0434%u0440%u0435%u0441%u0430%u043C%u0438%20....%20%20%0A%20%20%20function%20setBookFavicon%28%20faviconURI%2C%20siteURI%20%29%20%7B%0A%20%20%20%20%20%20var%20iconURI%20%3D%20Services.io.newURI%28%20faviconURI%2C%20null%2C%20null%29%3B%0A%20%20%20%20%20%20var%20bookmarkURI%20%3D%20Services.io.newURI%28%20siteURI%2C%20null%2C%20null%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20faviconService%20%3D%20Cc%5B%22@mozilla.org/browser/favicon-service%3B1%22%5D.getService%28Ci.mozIAsyncFavicons%29%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20faviconService.setAndFetchFaviconForPage%28%0A%20%20%20%20%20%20%20%20%20bookmarkURI%2C%0A%20%20%20%20%20%20%20%20%20iconURI%2C%0A%20%20%20%20%20%20%20%20%20false%2C%0A%20%20%20%20%20%20%20%20%20faviconService.FAVICON_LOAD_NON_PRIVATE%0A%20%20%20%20%20%20%29%0A%20%20%20%7D%3B%0A%20%20%20%0A%20%20%20%0A%20%20%20//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0430%u0434%u0440%u0435%u0441%20%u0438%u043A%u043E%u043D%u043A%u0438%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%20%u0438%20%u0437%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u043A%u0443%20%u0438%u043A%u043E%u043D%u043A%u0438%20....%20%0A%20%20%20function%20getSiteFavicon%28%20siteURI%20%29%20%7B%0A%20%20%20%20%20%20var%20hostURI%20%3D%20%22http%3A//%22%20+%20siteURI.split%28/%5C/+/g%29%5B1%5D%20+%20%22/%22%3B%0A%20%20%20%20%20%20var%20faviconURI%20%3D%20hostURI%20+%20%22favicon.ico%22%3B%20%20//%20%u0430%u0434%u0440%u0435%u0441%20%u0438%u043A%u043E%u043D%u043A%u0438%2C%20%u0435%u0441%u043B%u0438%20%u043D%u0435%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0430%u0434%u0440%u0435%u0441%20%u0438%u043A%u043E%u043D%u043A%u0438%20%u0438%u0437%20%u0441%u0430%u0439%u0442%u0430%0A%0A%20%20%20%20%20%20if%20%28%20getSiteFavicon%5BsiteURI%5D%20%29%20return%3B%20%20%20%20%20//%20%u0441%u0442%u043E%u043F%20%u0435%u0441%u043B%u0438%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0430%20%u0441%20%u0442%u0430%u043A%u0438%u043C%20%u0430%u0434%u0440%u0435%u0441%u043E%u043C%20%u0443%u0436%u0435%20%u0431%u044B%u043B%u0430%0A%20%20%20%20%20%20getSiteFavicon%5BsiteURI%5D%20%3D%20true%3B%20%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0430%u0434%u0440%u0435%u0441%20%u0438%u043A%u043E%u043D%u043A%u0438%20%u0438%u0437%20%u0434%u043E%u043A%u0443%u043C%u0435%u043D%u0442%u0430%20%u0441%u0430%u0439%u0442%u0430%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%0A%20%20%20%20%20%20var%20xhr%20%3D%20new%20XMLHttpRequest%28%29%3B%0A%20%20%20%20%20%20xhr.open%28%22GET%22%2C%20siteURI%2C%20true%29%3B%0A%20%20%20%20%20%20xhr.responseType%20%3D%20%22document%22%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20xhr.onload%20%3D%20xhr.onerror%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20var%20doc%20%3D%20xhr.responseXML%3B%0A%20%20%20%20%20%20%20%20%20if%20%28%20doc%20%21%3D%3D%20null%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20links%20%3D%20doc.getElementsByTagName%28%22link%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B...links%5D.forEach%28function%28link%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20/%28%3F%3A%5E%7C%5Cs%29icon%28%3F%3A%5Cs%7C%24%29/.test%28link.rel.toLowerCase%28%29%29%20%29%20faviconURI%20%3D%20link.href%20%7D%29%3B%0A%20%20%20%20%20%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%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20setBookFavicon%28%20faviconURI%2C%20siteURI%20%29%3B%20%20//%20%u0437%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u043A%u0443%20%u0438%u043A%u043E%u043D%u043A%u0438%20%20%20%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20xhr.send%28%29%3B%0A%20%20%20%7D%3B%20%20%20%0A%20%20%20%20%20%0A%7D%29%28%29%3B%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bif%28%21event.target%29%20%7B%20//%20Button%27s%20hotkey%20pressed%0A%09if%28this.bookmarks.initialized%29%0A%09%09this.open%20%3D%20%21this.open%3B%0A%09else%0A%09%09this.bookmarks.init%28%29%3B%0A%7D%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
// левый клик открывает закладку в новой или текущей вкладке .... if ( button == 0 && type == 'mouseup' && func.loadBook && isURI ) { /* ( uri.startsWith("javascript") || current.indexOf(content.location.href) !== -1 || e.ctrlKey ) ? gBrowser.loadURI( uri ) : gBrowser.loadOneTab( uri, {relatedToCurrent: nextToCurrent, inBackground: background, referrerURI: null } ); */ gBrowser.loadURI( uri ); }
Отредактировано emlen (07-01-2016 01:20:29)
SeaMonkey 2.39 forever
Отсутствует
Недавно начал использовать расширение Puzzle панели, но при размещение некоторых кнопок на боковой панели появляется стрелочка (не знаю как её правильно назвать, как например на гризманки). На боковой панели созданной расширением "Vertical Toolbar" - стрелки отсутствуют. Как избавится, а то два расширения с одинаковым функционалам не хочется использовать, а Puzzle вещь полезная.
Кнопка для примера:
User Agent Switcher Lite
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%3EUser%20Agent%20Switcher%20Lite%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAEZElEQVQ4jWXMfTDUCRzH8V/TH+r+aGK4aSaGuHRGhJURzd2VburUOdGTZq3VXCI5uq08ZzMp0nQp9GBZu1PRE5PHI89OhL2jPLWsZSXSnYebMU3+ed8fXe66++P1x/fz+c5HEGBJWHaZccSVYpuwtHvr/i3y8t/+k38QcaHYJiy7zFiAJUJYdplxYtFQgbx8cj6pfJLkyinkFa+RV7wm9fEbLtS84Vz1FKfLJz+SVP6a02UT8/EPBwvDssuMBYlcZZtQMj4fpDYgVo0SqBpFojYQkDfKoVtjHH/4ipCCMfYqRtijGGFv7ggStYFAlQFx/ijxj8bnJXKVrRAQnWkfVzJOkGqEINUI/jd1HMzTsydnGIl6lEs1U6RWTeJ/cxjf6zoO5OoJUr5AerUTsXKYuJJxAqIz7YXdJzLWRxePEaTSs0+hY1eWFolKz3fXB9mVraW6b46qvjl2ZmnZlfmCQ1faubrzCP7pjUiUOqKLx9h9ImO94BOW7ih7YECSP4xUreeAYojwQgPHCg0cUg0zObfA5NwC3+f0Eh+r5sEWP3xjbhOYpyUwfxjZAwM+YemOwvYjqRsiCvWI83SLY1H3DJR0T1PTP0tN7wx1GgNPUy/T8sU2wqVnCbjRQ0DuEPtzBjlWoGf7kdQNgodU7hScP8hBxSBi5RASlZ7g/CGq+2ZIrRgj+GI9tYfD0bo4czckiqCMJ3yT0cu3mQPsu6kl5JaOr6RyJ2GDf4yzb1Yf4lwtKeVjVPfN8mp2gaqeacTXNCgz1QyvWcM1T29KH3cwMfOWuoFZ0qvGCVYOEpirZdOBRGfhc1+ZaNvFLnb89Ax5yQil3b8zMfeO6u4JSp5o6enrJykqmb0yJU0D00z9uUD9wBwXfn7JwZwBfDN7cPCViQRr7+Oum89rcJG34yJvx/1sJ6HqAX55pud57wBZd8rZEXOH5KJ+avtnCL2lY9/1F/hl97P9Ujdfpv2KtfdxV8HC6+hGUXI7DoltOCS24ZTURsydLhraurhbWkdBVQePOscp7ZridusE/lnP8c3qZWfGczzOaXBNbsfC6+hGYdXWUDf7+CfYxbVgF9eCKK4GZWkrh9MfIr7Swss/5hmbfsvXFzVsTevEM6UD78vP8Er/DdGZpzgmtrJqa6ibYOIpdV97qpm1p5qxldURe6MS59AcvM63sPHMU+53THK/Y4LFn1PNbEnT4CpvW8xMPKXugomHZJOVrAGrH+v57Oh9VkvzcYitR5TUis3JRkKUPYQoe7CSNSyyOdnImhP/3CYekk3CCpf97hYRFe/MI2tYHV6O+Q/VrItuxFpWj3lULfaxjdjHNmIeVfs/FlG1WERUvFvhst9dWGa72drMJ0VjE1m5YBfdgH1sI84JTTgnNCFKbMItqRm3pGZEiU04JTThGPd+2C66AZvIygUznxTNMtvN1oIgCEZLV5r7GZlaKozMLIuWm1oWv2dV/MmnH1tualX8oTcysywyMrVULF1p7icIgtFfxkUcJUxp7EkAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/**%0A%20*%20%20Button%20based%20on%20a%20script%20created%20for%20userChrome.js%20extension.%20http%3A//userchromejs.mozdev.org/%0A%20*%20%20Source%3A%20https%3A//github.com/ardiman/userChrome.js/tree/master/useragentswitcherlite%0A%20*/%0Aconst%20_UID%20%3D%20%22user_agent_switcher%22%20+%20%28self.id%29.split%28%22custombuttons%22%29%5B1%5D%3B%0A%0Avar%20userAgent%20%3D%20JSON.parse%28getHelp%28%22UserAgent%22%29%29%3B%0A%0Aif%20%28%21%28%22Services%22%20in%20window%29%29%0A%09Cu.import%28%22resource%3A//gre/modules/Services.jsm%22%29%3B%0A%0Avar%20uaMenu%20%3D%20%7B%0A%09init%20%3A%20function%20init%28%29%20%7B%0A%09%09var%20menuPopup%20%3D%20document.createElement%28%22menupopup%22%29%3B%0A%09%09menuPopup.id%20%3D%20_UID%20+%20%22-ua-switcher%22%3B%0A%0A%09%09//%20Default%0A%09%09var%20menuItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%09%09menuItem.setAttribute%28%22label%22%2C%20%22Default%22%29%3B%0A%09%09menuItem.setAttribute%28%22accesskey%22%2C%20%22D%22%29%3B%0A%09%09menuItem.setAttribute%28%22type%22%2C%20%22radio%22%29%3B%0A%09%09menuItem.id%20%3D%20_UID%20+%20%22-ua-switcher-default%22%3B%0A%09%09menuItem.culMenu%20%3D%20%7B%0A%09%09%09agent%20%3A%20false%0A%09%09%7D%3B%0A%09%09menuItem.setAttribute%28%22oncommand%22%2C%20%22this.parentNode.parentNode.setUserAgent%28event%29%3B%22%29%3B%0A%09%09menuPopup.appendChild%28menuItem%29%3B%0A%0A%09%09//%20Separator%0A%09%09menuItem%20%3D%20document.createElement%28%22menuseparator%22%29%3B%0A%09%09menuItem.id%20%3D%20_UID%20+%20%22-ua-switcher-sep-default%22%3B%0A%09%09menuPopup.appendChild%28menuItem%29%3B%0A%0A%09%09for%20%28var%20i%20%3D%200%3B%20mItem%20%3D%20userAgent%5Bi%5D%3B%20i++%29%20%7B%0A%09%09%09if%20%28mItem.label%20%3D%3D%3D%20%22separator%22%29%20%7B%0A%09%09%09%09menuItem%20%3D%20document.createElement%28%22menuseparator%22%29%3B%0A%09%09%09%7D%20else%20%7B%0A%09%09%09%09menuItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%09%09%09%09menuItem.setAttribute%28%22label%22%2C%20mItem.label%29%3B%0A%09%09%09%09if%20%28%22accesskey%22%20in%20mItem%29%0A%09%09%09%09%09menuItem.setAttribute%28%22accesskey%22%2C%20mItem.accesskey%29%3B%0A%09%09%09%09menuItem.setAttribute%28%22type%22%2C%20%22radio%22%29%3B%0A%09%09%09%09menuItem.culMenu%20%3D%20mItem%3B%0A%09%09%09%09menuItem.setAttribute%28%22oncommand%22%2C%20%22this.parentNode.parentNode.setUserAgent%28event%29%3B%22%29%3B%0A%09%09%09%7D%0A%09%09%09menuItem.id%20%3D%20_UID%20+%20%22-ua-switcher-%22%20+%20i%3B%0A%09%09%09menuPopup.appendChild%28menuItem%29%3B%0A%09%09%7D%0A%0A%09%09self.appendChild%28menuPopup%29%3B%0A%09%09let%20mPopId%20%3D%20_UID%20+%20%22-ua-switcher%22%3B%0A%09%09document.getElementById%28mPopId%29.setAttribute%28%22onpopupshowing%22%2C%0A%09%09%09%22this.parentNode.setUserAgentDisplay%28document.getElementById%28%27%22%20+%20mPopId%20+%20%22%27%29%29%3B%22%29%3B%0A%0A%09%09self.type%20%3D%20%22menu%22%3B%0A%09%7D%0A%7D%3B%0A%0AuaMenu.init%28%29%3B%0A%0Athis.setUserAgentDisplay%20%3D%20function%20%28aMPop%29%20%7B%0A%09var%20menu%20%3D%20aMPop.childNodes%3B%0A%0A%09//%20general.useragent.override%20exists%3F%0A%09var%20ua%3B%0A%09try%20%7B%0A%09%09ua%20%3D%20gCV%28%22general.useragent.override%22%2C%20true%29%3B%0A%09%7D%20catch%20%28e%29%20%7B%0A%09%09ua%20%3D%20null%3B%0A%09%7D%0A%0A%09//%20If%20no%20default%0A%09if%20%28%21ua%29%20%7B%0A%09%09menu%5B0%5D.setAttribute%28%22checked%22%2C%20true%29%3B%0A%09%09return%3B%0A%09%7D%0A%0A%09//%20To%20check%20the%20settings%0A%09for%20%28var%20i%20%3D%200%3B%20i%20%3C%20menu.length%3B%20i++%29%20%7B%0A%09%09if%20%28%21menu%5Bi%5D.culMenu%29%0A%09%09%09continue%3B%20//%20Separator%0A%09%09if%20%28menu%5Bi%5D.culMenu.agent%20%3D%3D%3D%20ua%29%20%7B%0A%09%09%09menu%5Bi%5D.setAttribute%28%22checked%22%2C%20true%29%3B%0A%09%09%09break%3B%0A%09%09%7D%0A%09%7D%0A%7D%3B%0A%0Athis.setUserAgent%20%3D%20function%20%28aEvent%29%20%7B%0A%09//%20Delete%20the%20item%20once%20you%20have%20selected%20a%20default%0A%09if%20%28%21aEvent.target.culMenu.agent%29%20%7B%0A%09%09Services.prefs.clearUserPref%28%22general.useragent.override%22%29%3B%0A%09%09return%3B%0A%09%7D%0A%0A%09var%20nsISupportsString%20%3D%20Ci.nsISupportsWString%20%7C%7C%0A%09%09Ci.nsISupportsString%3B%0A%09var%20ua%20%3D%20%28Cc%5B%22@mozilla.org/supports-wstring%3B1%22%5D%29%20%3F%0A%09Cc%5B%27@mozilla.org/supports-wstring%3B1%27%5D%0A%09.createInstance%28nsISupportsString%29%20%3A%0A%09Cc%5B%27@mozilla.org/supports-string%3B1%27%5D%0A%09.createInstance%28nsISupportsString%29%3B%0A%09ua.data%20%3D%20aEvent.target.culMenu.agent%3B%0A%0A%09//%20Set%20the%20value%0A%09sCV%28%22general.useragent.override%22%2C%20ua%2C%20true%29%3B%0A%7D%3B%0A%0Afunction%20gCV%28aKey%2C%20aBranch%29%20%7B%20//Get%20Complex%20Value%20%28Char%20Pref%29%0A%09return%20Services.prefs.getComplexValue%28%28%28%21aBranch%29%20%3F%20PREF_BRANCH%20+%20aKey%20%3A%20aKey%29%2C%20Ci.nsISupportsString%29.data%3B%0A%7D%0A%0Afunction%20sCV%28aKey%2C%20aVal%2C%20aBranch%29%20%7B%20//Set%20Complex%20Value%20%28Char%20Pref%29%0A%09var%20str%20%3D%20Cc%5B%22@mozilla.org/supports-string%3B1%22%5D.createInstance%28Ci.nsISupportsString%29%3B%0A%09str.data%20%3D%20aVal%3B%0A%09Services.prefs.setComplexValue%28%28%28%21aBranch%29%20%3F%20PREF_BRANCH%20+%20aKey%20%3A%20aKey%29%2C%20Ci.nsISupportsString%2C%20str%29%3B%0A%7D%0A%0Afunction%20getHelp%28aPlaceholder%29%20%7B%20//%20Get%20specific%20data%2C%20surrounded%20by%20%22placeholders%22%2C%20from%20the%20Help%20tab.%0A%09return%20document.getElementById%28self.id%29.getAttribute%28%22Help%22%29.split%28%22%3C%21--%22%20+%20aPlaceholder%20+%20%22--%3E%22%29%5B1%5D%3B%0A%7D%0A%0Aif%20%28self.parentNode%20%26%26%20self.parentNode.id.match%28%22PanelUI%22%29%29%0A%09self.orient%20%3D%20%22vertical%22%3B%0Aelse%0A%09self.orient%20%3D%20%22horizontal%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%5BUser%20agent%20strings%20can%20be%20added/edited%20inside%20the%20Help%20tab%20of%20this%20button.%0A%0ABe%20very%20carefull%21%21%20The%20list%20of%20user%20agents%20is%20in%20JSON%20format%2C%20wich%20is%20very%20strict.%20A%20single%20misplaced%20comma%20or%20double%20quotes%20and%20the%20button%20will%20simply%20break.%0A%5B%2C%5D%0A%0A%3C%21--UserAgent--%3E%0A%5B%7B%0A%09%09%22label%22%20%3A%20%22Android%204.4.2%20-%20Samsung%20Galaxy%20S5%20%28SM-G900P%29%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28Linux%3B%20Android%204.4.2%3B%20en-us%3B%20SAMSUNG%20SM-G900P%20Build/KOT49H%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Version/1.6%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22Mobile%20Safari%208.0%20iOS%20-%20iPhone%207%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28iPhone%3B%20CPU%20iPhone%20OS%208_0_2%20like%20Mac%20OS%20X%29%20AppleWebKit/600.1.4%20%28KHTML%2C%20like%20Gecko%29%20Version/8.0%20Mobile/12A405%20Safari/600.1.4%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22separator%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22Chrome%2037.0%20Win7%2064-bit%22%2C%0A%09%09%22accesskey%22%20%3A%20%22C%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28Windows%20NT%206.1%3B%20WOW64%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/37.0.2062.124%20Safari/537.36%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22Firefox%2044.0%20Linux%22%2C%0A%09%09%22accesskey%22%20%3A%20%22F%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28X11%3B%20Ubuntu%3B%20Linux%20x86_64%3B%20rv%3A44.0%29%20Gecko/20100101%20Firefox/44.0%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22IE%2011.0%20Win7%2064-bit%22%2C%0A%09%09%22accesskey%22%20%3A%20%22I%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28Windows%20NT%206.1%3B%20WOW64%3B%20Trident/7.0%3B%20rv%3A11.0%29%20like%20Gecko%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22Safari%208.0%20MacOSX%22%2C%0A%09%09%22accesskey%22%20%3A%20%22S%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_10%29%20AppleWebKit/600.1.25%20%28KHTML%2C%20like%20Gecko%29%20Version/8.0%20Safari/600.1.25%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22separator%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22Google%22%2C%0A%09%09%22accesskey%22%20%3A%20%22G%22%2C%0A%09%09%22agent%22%20%3A%20%22Googlebot/2.1%20%28+http%3A//www.google.com/bot.html%29%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22Yahoo%21%22%2C%0A%09%09%22accesskey%22%20%3A%20%22Y%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28compatible%3B%20Yahoo%21%20Slurp%3B%20http%3A//help.yahoo.com/help/us/ysearch/slurp%29%22%0A%09%7D%2C%20%7B%0A%09%09%22label%22%20%3A%20%22Bing%22%2C%0A%09%09%22accesskey%22%20%3A%20%22B%22%2C%0A%09%09%22agent%22%20%3A%20%22Mozilla/5.0%20%28compatible%3B%20bingbot/2.0%3B%20+http%3A//www.bing.com/bingbot.htm%29%22%0A%09%7D%0A%5D%0A%3C%21--UserAgent--%3E%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отредактировано Mishania (07-01-2016 16:39:36)
Отсутствует
Mishania
Если нужно только для конкретной панели, то подставьте сами для какой именно.
Отредактировано villa7 (07-01-2016 19:08:53)
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
И какой адрес прописать в Управление закладками
Отсутствует
Вопрос к знающим людям, у CustomButtons в файле CustomButtonsService.js с 799 строки есть функция installButton: function (param)..., как из неё через eval удалить строки:
Отсутствует
bunda1
Никак, вроде бы: код реализации сервиса снаружи не виден.
custombuttons.cbService.installButton /* function installButton() { [native code] } */
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Подскажите почему срабатывает поиск по нажатию Shift+ПраваяКнопкаМыши ? Нужно чтобы вызывалось только меню редактирования кнопки.
else if ( e.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Действие при клике ПКМ без модификаторов var paste = 'http://www.citilink.ru/search/?text='+readFromClipboard(); getBrowser (). selectedTab = getBrowser (). addTab (paste); }
в кнопке
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%3ESearch%20on%20Citilink%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AEKFxgntjXgMQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAB5UlEQVQ4y6VTMWgTURj+/nd37eUSe5VSCLWlSamClSZNTxC6FZys4KKjg6Di5ORoSmh0c3MRiouTg5ODiyBCsQoSE4UiBWmtSHAxekcu5vruf8+l0QZi0fht7/v5Pr7/e+9RUJy7DNdZRT/wW1dMuM5qsxklx0qV1r9o6yXPSblOCL/safSJ4M6CFvhP9DT4djP/wF+e08Fy4d5B4qEb69TTQAi66K7USAELfSWAZfz1CuaBU1ZHOyVrlt5w6d2bngYvZwp6Mq0AJoAIkIzi5JRuS47Tt9+SX/Y0GVbFL3toV/U2NylLtkIip5QJAIeGYwACydN70SVjRJh4v66NWja3pCNME6ml1gs0nUVxP1wDQBo0aAp6fW72x7GTA3YnUuNJzF/G2KjXFNIkMMqEJIttjcQGHY7PpM7/vnpuyIfm5y1WR0IJKEJy0YSTw+bXp/r4uBA0GhMGNQDSWdLIQgkAjHANgM2bURBcEkO2/lVk+Ixhj5szhXnrUboj3o+9s9b4xJBns88/toVlotWIlGxEStZD3hKsTqTyxoXErHENMHa6Gp+KQwDYlZyfeLzxAQCo5ycr5k5hwHqlI0xXb1V2MsiYmasjHExg1y1WujT0pyfwvZSbJ8OqdJFSXXdXqnf3Uz8BTZLAkjVQipMAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%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%3D%20function%28e%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20getSelect%28%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20text%20%3D%20getSelect%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20value%20%3D%20custombuttons.promptBox%28%27%u041F%u043E%u0438%u0441%u043A%20%u043F%u043E%20%u0441%u0430%u0439%u0442%u0443%20%u0432%20Citilink%27%2C%20%27B%u0432%u0435%u0434%u0438%u0442%u0435%20%u0442%u0435%u043A%u0441%u0442%20....%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20text%20%3D%20value%5B0%5D%20%3F%20value%5B1%5D%20%3A%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20text%20%3D%3D%20false%20%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20searchInWebsite1%28%20text%20%29%3B%20%20%0A%20%20%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%0A%20%20%20%20%20else%20if%20%28%20e.button%20%3D%3D%201%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20getSelect%28%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20text%20%3D%20getSelect%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20value%20%3D%20custombuttons.promptBox%28%27%u041F%u043E%u0438%u0441%u043A%20%u043F%u043E%20%u0441%u0430%u0439%u0442%u0443%20%u0432%20Ulmart%27%2C%20%27B%u0432%u0435%u0434%u0438%u0442%u0435%20%u0442%u0435%u043A%u0441%u0442%20....%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20text%20%3D%20value%5B0%5D%20%3F%20value%5B1%5D%20%3A%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20text%20%3D%3D%20false%20%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20searchInWebsite2%28%20text%20%29%3B%09%09%09%20%20%20%0A%09%09%09%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20%20else%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21event.ctrlKey%20%26%26%20%21event.shiftKey%20%26%26%20%21event.altKey%20%26%26%20%21event.metaKey%29%20%7B%0A%09%09%09%20%20%20//%20%u0414%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u041F%u041A%u041C%20%u0431%u0435%u0437%20%u043C%u043E%u0434%u0438%u0444%u0438%u043A%u0430%u0442%u043E%u0440%u043E%u0432%0A%09%09%20%20%20%20%20%20%20var%20paste%20%3D%20%27http%3A//www.citilink.ru/search/%3Ftext%3D%27+readFromClipboard%28%29%3B%0A%09%09%20%20%20%20%20%20%20getBrowser%20%28%29.%20selectedTab%20%3D%20getBrowser%20%28%29.%20addTab%20%28paste%29%3B%0A%09%09%09%20%20%20%7D%0A%7D%3B%0A%0A%0A%0A/*%20%u0417%u0430%u043F%u0443%u0441%u043A%u0430%u0435%u0442%20%u043F%u043E%u0438%u0441%u043A%20%u043F%u043E%20%u0441%u0430%u0439%u0442%u0443%20%u0432%20Google%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043A%u043E%u0442%u043E%u0440%u044B%u0439%20%u043F%u0435%u0440%u0435%u0434%u0430%u043D%0A%20%20%20%u043A%u0430%u043A%20%u0430%u0440%u0433%u0443%u043C%u0435%u043D%u0442%20%u043F%u0440%u0438%20%u0432%u044B%u0437%u043E%u0432%u0435%20%u0444%u0443%u043D%u043A%u0446%u0438%u0438%20...............................................*/%20%0Afunction%20searchInWebsite1%28%20text%20%29%20%7B%20%0A%20%20%20var%20text%20%3D%20escape%28%20convertFromUnicode%28%22UTF-8%22%2C%20text%29%20%29%3B%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20var%20url%20%3D%20content.document.domain%3B%20%20%20%0A%20%20%20var%20url%20%3D%20encodeURIComponent%28%20url%20%29%3B%0A%20%20%20var%20url%20%3D%20%22http%3A//www.citilink.ru/search/%3Ftext%3D%22%20+%20text%3B%0A%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%20url%20%29%3B%20%0A%7D%3B%0Afunction%20searchInWebsite2%28%20text%20%29%20%7B%20%0A%20%20%20var%20text%20%3D%20escape%28%20convertFromUnicode%28%22UTF-8%22%2C%20text%29%20%29%3B%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20var%20url%20%3D%20content.document.domain%3B%20%20%20%0A%20%20%20var%20url%20%3D%20encodeURIComponent%28%20url%20%29%3B%0A%20%20%20var%20url%20%3D%20%22http%3A//www.ulmart.ru/search%3Fstring%3D%22%20+%20text%3B%0A%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%20url%20%29%3B%20%0A%7D%3B%0Afunction%20searchInWebsite3%28%20text%20%29%20%7B%20%0A%20%20%20var%20text%20%3D%20escape%28%20convertFromUnicode%28%22UTF-8%22%2C%20text%29%20%29%3B%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20var%20url%20%3D%20content.document.domain%3B%20%20%20%0A%20%20%20var%20url%20%3D%20encodeURIComponent%28%20url%20%29%3B%0A%20%20%20var%20url%20%3D%20%22http%3A//www.google.com/search%3Fas_q%3D%22%20+%20text%20+%20%22%26as_sitesearch%3D%22%20+%20url%3B%0A%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%20url%20%29%3B%20%0A%7D%3B%0A%0A%0A/*%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u0434%u0430%u0441%u0442%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%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0433%u043E%20%u043F%u043E%u043B%u044F%2C%20%0A%20%20%20%u0435%u0441%u043B%u0438%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0435%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%20%u043E%u0442%u0434%u0430%u0441%u0442%20%27false%27%20...........................................*/%0Afunction%20getSelect%28%29%20%7B%0A%20%20//%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....%0A%20%20var%20selection%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29.toString%28%29%3B%0A%0A%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0433%u043E%20%u043F%u043E%u043B%u044F%20....%0A%20%20if%20%28%20selection%20%3D%3D%20%27%27%20%29%20%7B%0A%20%20%20%20%20%20%20var%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0A%20%20%20%20%20%20%20if%20%28%20theBox%20%26%26%20%28theBox.type%20%3D%3D%20%22text%22%20%7C%7C%20theBox.type%20%3D%3D%20%22textarea%22%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20startPos%20%3D%20theBox.selectionStart%3B%0A%09%20%20%20%20var%20endPos%20%3D%20theBox.selectionEnd%3B%0A%09%20%20%20%20var%20selection%20%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20//%20%u0443%u0431%u0438%u0440%u0430%u0435%u043C%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%20%u0441%20%u043E%u0431%u043E%u0438%u0445%20%u043A%u043E%u043D%u0446%u043E%u0432%20%u0442%u0435%u043A%u0441%u0442%u0430%20....%0A%20%20if%20%28%20selection%20%21%3D%3D%20%27%27%20%29%20var%20selection%20%3D%20selection.toString%28%29.replace%28/%5E%5Cs+%7C%5Cs+%24/g%2C%22%22%29%3B%0A%20%20%20%20%0A%20%20return%20%28%20selection%20%3D%3D%20%27%27%29%3F%20false%3A%20selection%3B%0A%7D%3B%0A%0A%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20.............................................................%0Athis.tooltipText%20%3D%20%22%u041F%u043E%u0438%u0441%u043A%20%u043F%u043E%20%u0441%u0430%u0439%u0442%u0443%20%5Cn%u041B%3A%09%u041F%u043E%u0438%u0441%u043A%20Citilink%20%5Cn%u0421%3A%09%u041F%u043E%u0438%u0441%u043A%20Ulmart%20%5Cn%u041F%3A%09CB%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
/*Initialization Code*/ // Настройка функций кликов мыши для кнопки ..................................... this.onclick = function(e) { if ( e.button == 0 ) { if ( getSelect() ) { var text = getSelect(); } else { var value = custombuttons.promptBox('Поиск по сайту в Citilink', 'Bведите текст ....'); var text = value[0] ? value[1] : false; if ( text == false ) return; } searchInWebsite1( text ); } else if ( e.button == 1 ) { if ( getSelect() ) { var text = getSelect(); } else { var value = custombuttons.promptBox('Поиск по сайту в Ulmart', 'Bведите текст ....'); var text = value[0] ? value[1] : false; if ( text == false ) return; } searchInWebsite2( text ); } else if ( e.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Действие при клике ПКМ без модификаторов var paste = 'http://www.citilink.ru/search/?text='+readFromClipboard(); getBrowser (). selectedTab = getBrowser (). addTab (paste); } }; /* Запускает поиск по сайту в Google текста который передан как аргумент при вызове функции ...............................................*/ function searchInWebsite1( text ) { var text = escape( convertFromUnicode("UTF-8", text) ); var url = content.document.domain; var url = encodeURIComponent( url ); var url = "http://www.citilink.ru/search/?text=" + text; gBrowser.selectedTab = gBrowser.addTab( url ); }; function searchInWebsite2( text ) { var text = escape( convertFromUnicode("UTF-8", text) ); var url = content.document.domain; var url = encodeURIComponent( url ); var url = "http://www.ulmart.ru/search?string=" + text; gBrowser.selectedTab = gBrowser.addTab( url ); }; function searchInWebsite3( text ) { var text = escape( convertFromUnicode("UTF-8", text) ); var url = content.document.domain; var url = encodeURIComponent( url ); var url = "http://www.google.com/search?as_q=" + text + "&as_sitesearch=" + url; gBrowser.selectedTab = gBrowser.addTab( url ); }; /* Функция отдаст выделенный текст из страницы или текстового поля, если текст не выделен отдаст 'false' ...........................................*/ function getSelect() { // выделенный текст из страницы .... var selection = document.commandDispatcher.focusedWindow.getSelection().toString(); // выделенный текст из текстового поля .... if ( selection == '' ) { var theBox = document.commandDispatcher.focusedElement; if ( theBox && (theBox.type == "text" || theBox.type == "textarea") ) { var startPos = theBox.selectionStart; var endPos = theBox.selectionEnd; var selection = theBox.value.substring(startPos, endPos); } }; // убираем пробелы с обоих концов текста .... if ( selection !== '' ) var selection = selection.toString().replace(/^\s+|\s+$/g,""); return ( selection == '')? false: selection; }; // Подсказка для кнопки ............................................................. this.tooltipText = "Поиск по сайту \nЛ: Поиск Citilink \nС: Поиск Ulmart \nП: CB меню";
Отсутствует
Подскажите почему срабатывает поиск по нажатию Shift+ПраваяКнопкаМыши ? Нужно чтобы вызывалось только меню редактирования кнопки.
else if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey) { e.preventDefault();
Отсутствует
bunda1
Я ошибся, мне нужно чтобы по нажатию Shift+ПраваяКнопкаМыши вызывалось меню редактирования кнопки, а по нажатию ПКМ производился поиск, если это возможно.
Отсутствует
bunda1
Я ошибся, мне нужно чтобы по нажатию Shift+ПраваяКнопкаМыши вызывалось меню редактирования кнопки, а по нажатию ПКМ производился поиск, если это возможно.
Замени:
else if ( e.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Действие при клике ПКМ без модификаторов var paste = 'http://www.citilink.ru/search/?text='+readFromClipboard(); getBrowser (). selectedTab = getBrowser (). addTab (paste); }
на
else if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey) { e.preventDefault(); // Действие при клике ПКМ без модификаторов var paste = 'http://www.citilink.ru/search/?text='+readFromClipboard(); gBrowser.selectedTab = gBrowser.addTab( paste ); }
Отсутствует
А что нужно в Автоскрытие панели поиска подправить, чтоб на симанке заработало?
А в History Export (Firefox) - вариант №2 очень было бы здорово чтобы хтмл сохраняло в таком виде, чтобы не ссылки показывало, а названия страничек, а ссылки под названиями спрятаны были...
Отредактировано emlen (13-01-2016 13:25:26)
SeaMonkey 2.39 forever
Отсутствует
bunda1
Поправь кнопку Переключить JavaScript( Firefox17+ ) от 11.01.2015.
Выключает или включает JavaScript для браузера и обновляет текущую страницу, изменения вступают в силу в новых страницах или после обновления уже открытых страниц. После переключения JavaScript соответственно меняется иконка кнопки.
var s = 'javascript.enabled'; var pref = Application.prefs.get(s); this._handleClick =()=> BrowserReload(pref.value = !pref.value); function toggleImage() { self.style.filter = pref.value ? '' : parseInt(Application.version) < 36 ? 'url("chrome://mozapps/skin/extensions/extensions.svg#greyscale")' : 'grayscale(1)'; }; toggleImage(); cbu.ps.addObserver(s, toggleImage, false); addDestructor(()=> cbu.ps.removeObserver(s, toggleImage) );
Кнопка нужная, но вот иконка... замена оригинального цвета на grayscale не очень заметно, а работы то на 2-3 минуты.
Даю пример
/*Initialization Code*/ const proxyPref = "network.proxy.type"; var onNetworkProxy="data:image/png;base64,iVBORw0KGgoAAAANSUhE... и т.д." var offNetworkProxy="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAg... и т.д." this.setButton=function(){ if(Application.prefs.getValue(proxyPref, 0)==1){ // this.label="Proxy"; this.image=onNetworkProxy; this.tooltipText="Ручная настройка прокси"; } else if(Application.prefs.getValue(proxyPref, 0)==0){ // this.label="NotProxy"; this.image=offNetworkProxy; this.tooltipText="Без прокси"; } else alert("Ошибка кнопки ProxyOnOff. Не соответствие сетевых настроек прокси.") // Мало ли =))) }; this.setButton(); this.leftclick = function(event) { Application.prefs.setValue(proxyPref, Application.prefs.getValue(proxyPref, 0) == 0 ? 1 : 0); this.setButton(); }; this.setAttribute('onclick', 'gQuot(event, this)');
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
bunda1
Поправь кнопку Переключить JavaScript( Firefox17+ ) от 11.01.2015.
Кнопка нужная, но вот иконка... замена оригинального цвета на grayscale не очень заметно, а работы то на 2-3 минуты.
Иконка будет красной при выключении JavaScript: Переключить JavaScript
Отсутствует
А что нужно в Автоскрытие панели поиска подправить, чтоб на симанке заработало?
// Автоматически закрывать панель поиска ........................ ((gFindBar)=> { function autoClose() { window.clearTimeout( self.closeTimer ); try { autoClose.removeListener() } catch(e) {}; function closeFind(e) { if ( e !== 'timer' && e.target.nodeName == 'findbar') { window.clearTimeout( self.closeTimer ); autoClose.run = true; } else if ( e == 'timer' || autoClose.run && !gFindBar._findField.getAttribute("focused") ) { self.closeTimer = setTimeout(()=> { gFindBar.close(); }, 2000 ); autoClose.run = false; } } if ( !gFindBar.hidden ) { closeFind('timer'); addEventListener('mouseover', closeFind, false, window ); autoClose.removeListener =()=> { removeEventListener('mouseover', closeFind, false, window) }; } }; gFindBar.watch("hidden", function(prop, oldV, hidden) { setTimeout(function() { autoClose() }, 10); return hidden; }); })(document.getElementById("FindToolbar"));
Отсутствует
bunda1, спасибо, автоскрытие заработало как часы! А с History Export (Firefox) - вариант №2 никак низя в экспортный файл названия ресурсов вытягивать, а не только "страшные" ссылки с временем посещения?
SeaMonkey 2.39 forever
Отсутствует
А с History Export (Firefox) - вариант №2 никак низя в экспортный файл названия ресурсов вытягивать, а не только "страшные" ссылки с временем посещения?
Отсутствует
Indomito пишет: bunda1Поправь кнопку Переключить JavaScript( Firefox17+ ) от 11.01.2015.Кнопка нужная, но вот иконка... замена оригинального цвета на grayscale не очень заметно, а работы то на 2-3 минуты.Иконка будет красной при выключении JavaScript: Переключить JavaScript
Сенкс и в результате получаем
var s = 'javascript.enabled'; var pref = Application.prefs.get(s); this._handleClick =()=> BrowserReload(pref.value = !pref.value); function toggleImage() { document.getAnonymousNodes(self)[0].src = pref.value //? self.image // Это ON - серо-голубая ? "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAACQWzEUkFsxhJBbMaOQWzG2kFsxyZBbMdqQWzHrkFsx+pVhOf+aaUH/o3RP/62CX/+QWzHZkFsxNP///wD///8AlF8zaLiQbf/WuqP/38az/+fUw//u39P/9eri//v07//9+vb///79//vr3//77+b/wZ2A/5RfM2////8A////AJlkNonHpIX////////////////////////+/P/++/f//vfx//728f/krob/+ujb/86vlf+ZZDaL////AP///wCeaTlXnmk59rSFWf/ZpXv/2J5v/9ebav/YlmP/1pJd/9SPWf/Tjlf/4p1p//rj0f/Yu6L/nmk5nv///wD///8ApG88FKRvPKvVroz//fDl//fHov/3z63/+dW1//javf/43sL/+uHG//rkzP/99ez/4s66/6RvPLP///8A////AP///wCqdUAot4ZW//7+/f/63sL/+ty///nbwP/528D/+d3B//rbwP/63MP//eve/+zczf+qdUDK////AP///wD///8AsXtDHrmGUv/+/Pn/+dy///jbv//43MD/+dvC//ncwf/53cL/+t3D//vn1P/17eL/sXtD5P///wD///8A////ALeCRwm5hUv//vv3//ncwf/43L//+Ny///jbwP/53cD/+d3A//ndw//74sv//Pn1/7eCR/u3gkcB////AP///wD///8AvYhL+fz28P/538f/+dy9//rcv//628H/+t3D//rdwv/53cT/++DJ///8+v/BjVP/vYhLD////wD///8A////AMSOTtr159j/+uXS//navP/527z/+tu///rdwf/63cH/+d3E//vhyP///fv/yJRX/8SOThL///8A////AP///wDKlFK78NnB//vt4f/52sD/+dzC//nexf/64Mf/+uLK//rizf/65dD///79/8uPWv/KlFLxypRSRf///wD///8A0JpVpO3Qsv//9vD/+uHK//vjzP/749D/++bT//vp1f/86dj//Orb/////f/SnXH/7tnB/9CaVeX///8A////ANWfWJLryqX///37//3p1f/969j//erb//3t3//98OL//fHk//zw5P//////4KBw///7+f/fuIf/////AP///wDapFuE68aa///////87+L//fDn//3x6//99e7//fjx//369////Pr///////779//02sD/2qRb6v///wD///8A3qhdberAjP///////////////////////fn0//vz6v/469n/+ObT//Xfxv/py6b/3qhd7d6oXV3///8A////AOKsXzbirF/G6ryB/+i3d//msm3/5LBo/+KsX/DirF/j4qxfz+KsX8zirF+74qxfqOKsX0virF8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" // Это OFF - темно-красная иконка : "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFQUAABUhAAAVKMAAFS2AABUyQAAVNoAAFTrAABU+gAAWv8AAGL/AABu/wAAfP8AAFTZAABUNP///wD///8AAABXaAAAif8AALb/AADD/wAA0P8AAN3/AADo/wAA8/8AAPn/AAD9/wAA6f8AAO3/AACY/wAAV2////8A////AAAAXIkAAJ7/AAD//wAA//8AAP//AAD//wAA/f8AAPr/AAD1/wAA9f8AAKf/AADm/wAAqv8AAFyL////AP///wAAAGBXAABg9gAAfP8AAJ7/AACW/wAAkv8AAI3/AACJ/wAAhv8AAIX/AACU/wAA4P8AALb/AABgnv///wD///8AAABlFAAAZasAAKj/AADu/wAAwf8AAMn/AADP/wAA1P8AANj/AADb/wAA3/8AAPP/AADK/wAAZbP///8A////AP///wAAAGooAAB8/wAA/f8AANj/AADW/wAA1v8AANb/AADX/wAA1v8AANf/AADp/wAA2f8AAGrK////AP///wD///8AAABwHgAAfP8AAPv/AADW/wAA1f8AANb/AADW/wAA1/8AANf/AADY/wAA4/8AAOr/AABw5P///wD///8A////AAAAdgkAAHn/AAD6/wAA1/8AANb/AADW/wAA1v8AANf/AADX/wAA2P8AAN3/AAD4/wAAdvsAAHYB////AP///wD///8AAAB7+QAA9P8AANr/AADV/wAA1v8AANb/AADY/wAA2P8AANj/AADc/wAA+/8AAIH/AAB7D////wD///8A////AAAAgNoAAOT/AADh/wAA1P8AANX/AADW/wAA1/8AANf/AADY/wAA3P8AAPz/AACH/wAAgBL///8A////AP///wAAAIa7AADU/wAA6v8AANX/AADX/wAA2f8AANv/AADd/wAA3v8AAOH/AAD9/wAAhf8AAIbxAACGRf///wD///8AAACLpAAAyv8AAPX/AADc/wAA3v8AAN//AADi/wAA5P8AAOX/AADn/wAA/v8AAJX/AADU/wAAi+X///8A////AAAAj5IAAML/AAD8/wAA5f8AAOf/AADn/wAA6v8AAO3/AADu/wAA7f8AAP//AACY/wAA+v8AAK3/////AP///wAAAJSEAAC8/wAA//8AAOz/AADu/wAA8P8AAPP/AAD2/wAA+f8AAPv/AAD//wAA+v8AANX/AACU6v///wD///8AAACXbQAAtf8AAP//AAD//wAA//8AAP//AAD3/wAA8f8AAOf/AADi/wAA2f8AAMP/AACX7QAAl13///8A////AAAAmjYAAJrGAACv/wAAqf8AAKP/AACg/wAAmvAAAJrjAACazwAAmswAAJq7AACaqAAAmksAAJoFAAOsQQADrEEAA6xBAAOsQQADrEGAA6xBgAOsQYABrEHAAaxBwAGsQcAArEHAAKxBwACsQcAArEHAAKxBwACsQQ=="; }; toggleImage(); cbu.ps.addObserver(s, toggleImage, false); addDestructor(()=> cbu.ps.removeObserver(s, toggleImage) );
Этого я и хотел, т.е. иконки могут быть разными и не только по цвету. Сделал вчера иначе, но суть та же.
Спасибо за скрипт.
Добавлено 14-01-2016 16:20:32
emlen пишетbunda1, спасибо, автоскрытие заработало как часы!
Эммм, погорячился, печалька выходит - она закрывается в процессе ввода текста поискового запроса(
может обойтись без авто скрытия, а а просто переключатель кнопку + добавить по таймеру скрытие в диапазоне 15-25 секунд?
+ нужен внешний скрипт на сигнал закрытия... я это делал, но забросил за ненадобностью... могу дать пример внешнего скрипта.
Отредактировано Indomito (14-01-2016 16:20:32)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Здравствуйте, понадобилась мне кнопка на боковую панель чтоб загрузки показывались в боковой панели. Сделал закладку about:downloads и поставил галочку "загружать в боковой панели". Всё работает, но не размещается на боковой панели Puzzle. Решил засунуть всё это в CB. Знания хватило только на
this.onclick=function(e) { if (e.button==0) { var url = PlacesUtils.getURLAndPostDataForKeyword('dwnld')[0]; loadURI(url); } }
, где "dwnld" - краткое имя закладки. Но кнопка открывает во вкладке. Как-бы сделать чтоб открывалось в боковой панели?
Отредактировано Mishania (14-01-2016 19:05:25)
Отсутствует
Здравствуйте, понадобилась мне кнопка на боковую панель чтоб загрузки показывались в боковой панели.
Отсутствует
Эммм, погорячился, печалька выходит - она закрывается в процессе ввода текста поискового запроса(
// Автоматически закрывать панель поиска ........................ ((gFindBar)=> { function autoClose() { delete self.closeTimer; try { autoClose.removeListener() } catch(e) {}; if ( !gFindBar.hidden ) { toggleCloseTimer(); addEventListener('mouseover', toggleCloseTimer, false, window); autoClose.removeListener =()=> removeEventListener('mouseover', toggleCloseTimer, false, window); } function toggleCloseTimer(e) { if ( e && e.target.nodeName == 'findbar' ) { delete self.closeTimer; } else { if ( !self.closeTimer ) self.closeTimer = setTimeout(()=> { delete self.closeTimer; !gFindBar._findField.getAttribute("focused") && gFindBar.close(); }, 2000); } } }; gFindBar.watch("hidden", function(prop, oldV, hidden) { setTimeout(()=> autoClose(), 10); return hidden; }); })(document.getElementById("FindToolbar"));
Отсутствует