bunda1, шикарно! а можно еще докрутить открытие конечной папки при Ctrl+клик по меню с именем папки?
Добавлено 25-02-2016 15:27:02
и как тут вставить что-то типа этого:
menuitem.onclick =e=> { e.button == 0 && downloadToFolder(path) && reportMsg('Сохранено: ' + path); e.button == 1 && changeMenuitemLabel(path); e.button == 2 && deleteFolder(path) }; function reportMsg(sReport) { Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService). showAlertNotification(self.image, self.label + " ", sReport, false, "", null, ""); cbu.setPrefs("browser.download.useDownloadDir", false); };
Добавлено 25-02-2016 15:28:15
видимо && тут как успешное выполнение предыдущей команды не катит)
Отредактировано emlen (25-02-2016 15:28:15)
SeaMonkey 2.39 forever
Отсутствует
и как тут вставить что-то типа этого:
Добавлено 25-02-2016 15:40:43
кстати имя сохраняемой картинки нельзя выцепить?)
Это как?
Отредактировано bunda1 (25-02-2016 15:40:43)
Отсутствует
reportMsg('Сохранено: ' + path); };
если downloadToFolder(path) не отработает как надо reportMsg не вызовется?
Это как?
ну чтобы писало, сохранено как имя такое-то (пример.жпг) в папку такую-то...
SeaMonkey 2.39 forever
Отсутствует
Подскажите пожалуйста где накосячил в данной конструкции:
var domainList = []; for(var tab of [...gBrowser.tabs]) { var uri = tab.linkedBrowser.currentURI; var sDomain = Services.eTLD.getBaseDomain(uri); domainList.some(domain == sDomain ) || domainList.push(sDomain); } Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService). showAlertNotification(self.image, self.label + " ", domainList.join(' '), false, "", null, "");
SeaMonkey 2.39 forever
Отсутствует
bunda1, к теме о контекстном меню изображений, еще было бы полезно их отправлять в стороннее приложение, например в телеграм...
Добавлено 25-02-2016 16:43:14
emlen пишетПодскажите пожалуйста где накосячил в данной конструкции:
domainList.some(domain == sDomain )
А, понял, вот так надо было:
Отредактировано emlen (25-02-2016 21:24:28)
SeaMonkey 2.39 forever
Отсутствует
Ребята как бы переделать этот код чтобы выбросить всё лишнее(нажатие ЛКМ,ПКМ и т.д.) чтобы только пункты в контекстном остались.
(contextMenu=> { var id = "context-bookmarklink"; // Место врезки var sepOpen = document.getElementById(id); var array = [ ["SMPlayer", "C:\\Program Files\\SMPlayer\\smplayer.exe", "-add-to-playlist" ], //http://smplayer.sourceforge.net/ ["PotPlayer", "C:\\Program Files\\DAUM\\PotPlayer\\PotPlayerMini.exe", "/add" ], //https://potplayer.daum.net/?lang=ru ["Video Lan", "C:\\Program Files\\VideoLan\\vlc\\vlc.exe", "-AddToPlaylist" ], //http://www.videolan.org/vlc/ ["Rox Player", "C:\\Users\\Home\\AppData\\Local\\ROX Player\\roxplayer.exe", "rox:"], //http://roxplayer.com/ ["Download Master", "P:\\PortableApps\\PortableApps\\Download Master Portable\\dmaster.exe", ""], ["separator"] ] array.forEach(m=> { if ( m == "separator" ) { var sep = contextMenu.insertBefore(document.createElement("menuseparator"), sepOpen); sep.id = "open-in"; return; }; var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), sepOpen); menuitem.id = "open-in"; var label = m[0], path = m[1], param = m[2]; menuitem.setAttribute("label", label); menuitem.setAttribute("class", "menuitem-iconic"); menuitem.setAttribute("image", "moz-icon://file://" + path); menuitem.onclick =()=> play(path, param); }); addDestructor(()=> { [...contextMenu.children].forEach(el=> { el.id == "open-in" && contextMenu.removeChild(el); }) }); function play(path, param, link){ var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath(path); var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(file); gContextMenu.onLink ? process.run(false, [gContextMenu.getLinkURL(), param], 2) : process.run(false, [content.location.href, param], 2); }; })(document.getElementById("contentAreaContextMenu"));
Добавлено 25-02-2016 21:00:32
bunda1 пишетУ меня на -47.0a1 работает после перезагрузки, может попробуй с таймером:
Не помогло, к сожалению.
var box = BrowserSearch.searchBar._textbox; box.onmouseleave =()=> box.mo = true; box.onmouseover =()=> { box.mo = false; setTimeout(()=> !box.mo && document.getElementById('PopupSearchAutoComplete').showPopup(box, -1, -1, "popup", "bottomleft", "topleft"), 800); }; addDestructor(()=> box.onmouseover =()=> null);
Отредактировано bunda1 (25-02-2016 21:00:32)
Отсутствует
bunda1, я РАЗОБРАЛСЯ!!! Спасибо за помощь в моих скромных начинаниях!
SeaMonkey 2.39 forever
Отсутствует
Может кому сгодится... прграмка и кнопка для скачивания аудио-видио с ВК,Ю-трубы,Vmio,яндекс,ру-тубы ну и ещё... Сама программа http://sendfile.su/1207680 кнопка
Отсутствует
var domainList = []; for(var tab of [...gBrowser.tabs]) { var uri = tab.linkedBrowser.currentURI; var sDomain = Services.eTLD.getBaseDomain(uri); domainList.some(domain => (domain == sDomain)) || domainList.push(sDomain); } Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService). showAlertNotification(self.image, self.label + " ", domainList.join(' '), false, "", null, "");
код перестает работать когда появляеся вкладка типа "http://192.168.1.1/#dashboard.status", как можно обойти эту траблу?
SeaMonkey 2.39 forever
Отсутствует
Добавил кнопку для скрытия/показа "Панель закладок", назначил горячую клавишу (Alt+Q), но данное сочетание работает только когда включена английская раскладка, при русской не работает. Можно ли что-то сделать. чтобы работала во всех раскладках?
Отсутствует
код перестает работать когда появляеся вкладка типа "http://192.168.1.1/#dashboard.status", как можно обойти эту траблу?
var domainList = []; for( var tab of gBrowser.tabs ) { var sDomain = tab.linkedBrowser.contentDocument.location.host; ~domainList.indexOf(sDomain) || domainList.push(sDomain); } Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService). showAlertNotification(self.image, self.label + " ", domainList.join(' '), false, "", null, "");
Отсутствует
bunda1, и снова спасибище!!! Че тока муздыхался я с этим бэйсдомэйн не пойму, когда было все на виду оказывается, тот же "gBrowser.currentURI.host" в принципе я так понял подошел бы...
а что делает "~"?
Отредактировано emlen (25-02-2016 23:30:44)
SeaMonkey 2.39 forever
Отсутствует
Вот получилась кнопочка под кодовым названием "Заморозить", закрывает текущие вкладки, сохраняет их адреса без дублей, чистит всю историю с упоминанием доменов этих адресов и чистит закрытые вкладки:
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%u043C%u043E%u0440%u043E%u0437%u0438%u0442%u044C%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%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%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bif%20%28%20this.hasAttribute%28%22initialized%22%29%20%29%20return%3B%0Avar%20icon%20%3D%20document.getAnonymousElementByAttribute%28%20this%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0Aicon.style.width%20%3D%20%2220px%22%3B%0Aicon.style.height%20%3D%20%2220px%22%3B%0Avar%20ss%20%3D%20Cc%5B%22@mozilla.org/suite/sessionstore%3B1%22%5D.getService%28Ci.nsISessionStore%29%3B%0Avar%20folderName%20%3D%20%2200_USO%22%3B%0Avar%20parentFolderId%20%3D%20PlacesUtils.toolbarFolderId%3B%0Avar%20folderId%3B%0Avar%20parentFolder%20%3D%20PlacesUtils.getFolderContents%28parentFolderId%2C%20true%2C%20false%29.root%3B%0Afor%28var%20ind%20%3D%200%3B%20ind%20%3C%20parentFolder.childCount%3B%20ind++%29%20%7B%0A%20%20%20%20var%20child%20%3D%20parentFolder.getChild%28ind%29%3B%0A%20%20%20%20if%20%28child.title%20%3D%3D%20folderName%29%20%7BfolderId%20%3D%20child.itemId%3B%20break%3B%7D%0A%7D%0AparentFolder.containerOpen%20%3D%20false%3B%0Aif%20%28%21folderId%29%20folderId%20%3D%20PlacesUtils.bookmarks.createFolder%28parentFolderId%2C%20folderName%2C%20-1%29%3B%0A%0A%0A%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20if%20%28%20e.button%20%29%20return%3B%0A%0Avar%20dateString%20%3D%20new%20Date%28%29.toLocaleFormat%28%22%25Y-%25m-%25d%20%25H%3A%25M%3A%25S%22%29%3B%0Avar%20subFolderId%20%3D%20PlacesUtils.bookmarks.createFolder%28folderId%2C%20dateString%2C%200%29%3B%0Avar%20domainList%20%3D%20%5B%5D%3B%0Avar%20skipList%20%3D%20%5B%0A%20%20%20%20%22chrome%3A//sstart/content/sstart.html%22%2C%0A%20%20%20%20%22about%3Ablank%22%0A%5D%3B%0Afor%28var%20tab%20of%20%5B...gBrowser.tabs%5D%29%20%7B%0A%20%20%20%20tab.linkedBrowser.stop%28%29%3B%0A%20%20%20%20var%20uri%20%3D%20tab.linkedBrowser.currentURI%3B%0A%20%20%20%20var%20sDomain%20%3D%20tab.linkedBrowser.contentPrincipal.baseDomain%3B%0A%20%20%20%20skipList.some%28prefix%20%3D%3E%20uri.spec.startsWith%28prefix%29%29%0A%20%20%20%20%20%20%20%20%7C%7C%20PlacesUtils.bookmarks.insertBookmark%28subFolderId%2C%20uri%2C%20-1%2C%20tab.label%29%3B%0A%20%20%20%20%0A%20%20%20%20%7EdomainList.indexOf%28sDomain%29%20%7C%7C%20domainList.push%28sDomain%29%3B%0A%20%20%20%20%7EskipList.indexOf%28uri.spec%29%20%7C%7C%20skipList.push%28uri.spec%29%3B%0A%20%20%20%20gBrowser.removeTab%28tab%29%3B%0A%20%20%20%20ss.forgetClosedTab%28window%2C%200%29%3B%0A%7D%0A%0Afor%28var%20domain%20of%20domainList%29%20PlacesUtils.history.QueryInterface%28Ci.nsIBrowserHistory%29.removePagesFromHost%28domain%2C%20true%29%3B%0Avar%20count%20%3D%20ss.getClosedTabCount%28window%29%3B%20//%u0447%u0438%u0441%u0442%u0438%u043C%20%u0432%u0441%u0435%20%u0437%u0430%u043A%u0440%u044B%u0442%u044B%u0435%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%0Awhile%28count--%29%20ss.forgetClosedTab%28window%2C%20count%29%3B%0A//reportMsg%28domainList.join%28%27%20%27%29%29%3B%0AreportMsg%28%22%u041E%u043F%u0435%u0440%u0430%u0446%u0438%u044F%20%u0432%u044B%u043F%u043E%u043B%u043D%u0435%u043D%u0430%21%22%29%3B%0A%7D%3B%0A%0A%0A%0A%0A%0Afunction%20reportMsg%28sReport%29%20%7B%0A%20%20%20%20%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29.%0A%20%20%20%20%20showAlertNotification%28self.image%2C%20self.label%20+%20%22%20%20%22%2C%20sReport%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%20%0A%20%20%20%20%20cbu.setPrefs%28%22browser.download.useDownloadDir%22%2C%20false%29%3B%0A%20%20%20%7D%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
Добавлено 26-02-2016 01:21:26
Делаю кнопочку для себя, всего не нашёл
Подскажете строчку кода, чтобы закрывались все вкладки, кроме текушей
Это чтоли?
this.onclick = function(e) { if ( e.button ) return; for(var tab of [...gBrowser.tabs]) { tab !== gBrowser.mCurrentTab && gBrowser.removeTab(tab); }; }
Отредактировано emlen (26-02-2016 01:21:26)
SeaMonkey 2.39 forever
Отсутствует
["Google Chrome", "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe", "--profile-directory='Profile 2'"], //'--profile-directory="Profile 2"'
А как кавычки экранировать, не получается ссылку открыть в в выбранном профиле (ссылка открывается, но какой-то новый профиль при этом создается) - или это вообще не так делается?
Отредактировано fokanik (26-02-2016 01:57:32)
Отсутствует
На протяжении последних лет устанавливал расширение несколько раз, и каждый раз удалял через какое-то время по причине двух непонятных мне вещей, а именно:
Буду очень благодарен, если кто-нибудь объяснит: нормально ли такое поведение, и если нет, то что я делаю неправильно?
Отсутствует
Делаю кнопочку для себя, всего не нашёл
Подскажете строчку кода, чтобы закрывались все вкладки, кроме текушей
Отредактировано bunda1 (26-02-2016 08:19:13)
Отсутствует
Что за невидимая и таинственная кнопка появляется сразу после установки Custom Buttons на вкладке "about:customizing" и ее можно перетаскивать на панели?
Не наблюдал.
и снова появляется "Установить кнопку...?", хотя кнопка уже создана.
Да есть такой глюк в Custom Buttons.
Похоже, что ты всё делаешь правильно с Custom Buttons.
Отсутствует