А просто интересно, это вообще-то возможно: присвоить переменной значение какого-то параметра about:config и сохранить эту переменную неизменной когда этот параметр меняется?
Отредактировано rbfyec (19-12-2013 17:04:31)
Отсутствует
А просто интересно, это вообще-то возможно: присвоить переменной значение - адрес прокси и сохранить эту переменную неизменной когда адрес меняется?
Можно конечно но только до закрытия браузера и наверно до настройки панелей или редактирования кнопки.
Отсутствует
bunda1
Здравствуйте. При переходе на 26 перестал работать скрипт conqueryModoki4.uc.xul.
Версия с github тоже не работает.
Вот ссылки на мой скрипт:
Данный скрипт - это Context Search. Преимущество его для меня в том, что он идёт отдельной строкой в контекстном меню и после поиска через него, не меняет поисковик из строки поиска.
Отредактировано 1fesFFFF (22-12-2013 08:33:14)
Отсутствует
Как сделать listener чтобы он следил за появлением окна с определённым адресом (или с определённым заголовком) и тогда выполнится действие?
Отредактировано toxa (22-12-2013 20:23:36)
Отсутствует
Как сделать listener чтобы он следил за появлением окна с определённым адресом (или с определённым заголовком) и тогда выполнится действие?
Вот пример:
// Обработчик следит за переключением табов и запускают нужные коды и функции ................................ addEventListener("TabAttrModified", function(e) { var tab = e.target; var uri = tab.linkedBrowser.currentURI.spec; var doc = tab.linkedBrowser.contentDocument; if ( tab.hasAttribute('read') ) setTimeout(function() { { tab.removeAttribute('unread') } }, 0) // автоматически меняем название таба для таба "Bookmarks tab" .... if ( uri == "chrome://browser/content/bookmarks/bookmarksPanel.xul") doc.title = "Закладки"; // автоматически очистить адресную строку для 'Bookmarks tab' .... if ( gBrowser.currentURI.spec == "chrome://browser/content/bookmarks/bookmarksPanel.xul") { gURLBar.value = ""; gURLBar.focus(); }; // стоп, если открыть другие вкладки в фоновом режиме .... if ( uri !== gBrowser.currentURI.spec ) return; // показываем иконки сайтов в адресной строке .... gProxyFavIcon.src = ( gBrowser.mCurrentTab.image == '' ) ? "chrome://global/skin/icons/Portrait.png" : gBrowser.mCurrentTab.image; }, true, gBrowser.tabContainer );
Отсутствует
Что-то не могу понять как мне приспособить этот код...
listener срабатывает если меняется адрес у таба. Но мне надо отследить появление окна
Что я должен написать в коде?
Отредактировано toxa (22-12-2013 21:46:13)
Отсутствует
Упс, я невнимательно прочитал. Ну тогда не знаю, а что ты хочешь добится.
Добавлено 22-12-2013 22:24:55
Можно получить окно вот так но данном случае код отдаёт не правильный адрес:
// Наблюдатель следит за открытием окон var observer = { observe: function(subject, topic, data) { subject.addEventListener("load", this, false); }, handleEvent: function(e) { var doc = e.target; var win = doc.defaultView; var href = doc.location.href.slice(0,60); win.removeEventListener("load", this, false); ............... } }; Services.obs.addObserver( observer, "domwindowopened", false); addDestructor(function() { Services.obs.removeObserver(observer, "domwindowopened", false) });
Отредактировано bunda1 (22-12-2013 22:25:28)
Отсутствует
Упс, я невнимательно прочитал. Ну тогда не знаю, а что ты хочешь добится.
Добиться я хочу вот чего: мне нужно приделать обработчик онклик к кнопке, расположенной в этом окошке. Но не через html атрибут онклик, а через свойство my_button.onclick
Вот я и хочу чтобы какой-то наблюдатель, как только откроется моё окошко, запустил код
toxa
мне кажется тот код(первый что дал бунда1) только для табов.
попробуй пример отсюда
Я там ничего не понял
Отсутствует
bunda1
Если не сложно, обновите пожалуйста Autocopy+3, чтобы она не копировала текст из Find Bar-а и спасибо большое за кнопки.
А нет ли случайно CB открывающей Find Bar во всех вкладках, как раньше?
Отсутствует
А нет ли случайно CB открывающей Find Bar во всех вкладках, как раньше?
Отсутствует
Для 26 можете исправить кнопку?
1) Открывает боковую панель с загрузками.
// Настройка функций кликов мыши для кнопки ................................................................ this.onclick = function(e) { // действие при клике ЛКМ .... if ( e.button == 0 ) { document.getElementById('sidebar-box').getAttribute('sidebarcommand') ? toggleSidebar() : openWebPanel("Downloads", downTabUrl ); }; // действие при клике СКМ .... if ( e.button == 1 ) { var windows = Components. classes ['@mozilla.org/appshell/window-mediator;1'].getService(Components. interfaces. nsIWindowMediator).getEnumerator (null); while( windows. hasMoreElements() ) { var win = windows.getNext (); if ( win.document.documentURI == "chrome://mozapps/content/downloads/downloads.xul") { win.close(); return; } }; BrowserDownloadsUI(); }; // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); downloadManagerInTab( true ); } }; // Объявляем переменные для этой вкладки ................................................................... var downTabUrl = 'chrome://mozapps/content/downloads/downloads.xul'; // иконки для вкладки загрузок .... const trueDownloadsImg = "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAWAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAAIAAAMACyIAEGyoLtVqpyrVDSIADwAAAgABAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAAgAAAgALHwAPZaAmwsXxnv+t63n/XpwbwAcUAA0AAAIAAQIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwADAAACAAwgAA9loyXFv+2W/7/wl/yg52b8n+Nj/1OJG8EBCAAMAAACAAECAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAECAAIAAAIADCEADmSiI8Sx4oX/suWH+7HmhP+T3FX/i9dK+5LZUv9RhxnAAQkADAAAAgABAgACAAAAAAAAAAAAAAAAAQIAAgAAAgANIQANY6Eiw6nbfP+l23f7p913/6fed/+I0kj/gs5A/37KPvuL0Ev/UIYYvwIJAAsAAAIAAQIAAgAAAAABAQABAAABAAsgAA1gnh/BoNJy/5vSa/qe1W3/odhx/5/Ybv+Cy0H/fsg8/3zFOv92vjX6g8VD/0yCFL0BCAALAAABAAABAAEAAAEACRUAEmqmKcyn2Hr/n9Ry/Z3Tbv+Yz2b/mtJp/5nRZv99xDz/ecI3/3e/Nv97wT7/e78//YvKT/9Xjhy/BAwACQAAAQAAAAEAFCkAL2CUKdxhkTDXXI4o1m+mN/KWzGb/ksth/pLLX/93vTn/croz/nm9Pf9noizyVoog1lqNJtlbkx/TDyAAHwAAAQAAAAAAAAAAAAAAAAACAwEEAAAAAD5oFqeXz2X/icFY+4rDWP9ytjX/bLEu+3/CQv8+ZxSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEDBAMEAAAAAEFqFqeSyV7/g7pR+4S8Uf9usDP/aKsr+3u9Pv9AaRSnAAAAAAMEAgQBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeNxVj/fbRK+3+2Sv9rqzD/ZaYo+3m5PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeJwlT/eLBF+3qyRv9qqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeHwFD/da5B+3exQv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeEv03/cqw8+3WvPv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeCvkn/cKs4+3OuO/9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAD9oE6d+vET/bKky+2+sNf9oqCv/Y6Mm+3e3Ov8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFaeDv0v/cKw5+3OvPP9vqzX/aqcx+3+8RP9AaRSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgAEAAAAADlkCox1szT/a6Yv+W2oMPxspy78aqQt+XSyMv85ZAqMAAAAAAECAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; const falseDownloadsImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACmElEQVR42oyU3UtUQRiHn9k9c47Ho+4uhrkthmUfkHeB91GJ1paiJl0EQZd9U3f+E1EX0b8QEUQX0ScZWd0E3VhBrWJFuZuEqyLsOTtnznSxx9rSzPdq5p13nhl+729GTBXL/BUJwAFcwAZEnDdAFagAARDVb7JYHQ6QBTKsHWWgGAPXBblAZu/ubTdUQ6YnKWslWoVIv/z6zYeZ08DCRkA2QPOW7T2dXTuwLAsMhDrk03Shp77mfyABkE6laGluRgiBACJjSKXSf9T8D1RbsBJIy0IIgcGQMAYrKfhn/b9BFtKWv1sWGZKJ5LqgJNAQiyyB1hpI4ti/pYiiCEvKlWlrbIcwFt23YkgH4NWf4DV5OI4DQmCMwWiN53n1FsnF42Xgq5gqljPA9u7OjjvupmxHUypF++Z2duzsIp3O1DQyhkhr5svzFAoFSsUSy0uL6KW5z29nZkeAaSt2a/Xy2Nit8RevLmS3bJUtqRSNXiOOLX+BwlCTTmfY091NLpujNPtF5fvP3IxdrizAB2bPnjt/r21zm3g6PnHe3tQqGxwHy5KIhMBEBoTCMQalAsJqJTh18sS1oeFjD32liysaaWDRV3pydPQ4rtMQPh6fuNjouo7luiREgshEGBPhhyHzc9+DwXz/1YGh4fu+0u+ARUCvtD8EFnylJ/MDg5G0ZfT42cSlnN3peF4TRkWoasCPuWLl6OH+a4fyRx4ENUg5vsgfPgqBcqD0u96+wwYET5+/vNjWnnONiSh9+1rJ9x28cqC3/1Gg9Pt6yFqG1EC5Gur3vX2HsG2pbt+5exYDI0OD1/ftP/ikGq6GAIg1/iNik6Ydmdzl2nI3QKWqPgRKf4xfvt7oE9HAQqD0ZKB0Ic75sYv1Wht+DgB8pQ6678CoOAAAAABJRU5ErkJggg=="; /* Открывать загрузки в табе или переместить вкладку загрузок рядом с текущей вкладкой если загрузи уже открыты и закрыть все лишние вкладки загрузок ..........................................*/ function downloadManagerInTab( foregroundTab ) { setTimeout(function() { closeDownloadManager() }, 0); // закрыть стандартный менеджер загрузок // закрыть все вкладки загрузок кроме первой .... var downTab = null; Array.slice( gBrowser.tabs ).forEach(function(tab) { if ( tab.linkedBrowser.currentURI.spec !== downTabUrl ) return; !downTab ? downTab = tab : gBrowser.removeTab(tab); }) // переместить или открыть вкладку загрузок рядом с текущей вкладкой .... var selTab = gBrowser.selectedTab; if ( downTab !== selTab ) { if ( downTab && gBrowser.visibleTabs.indexOf( downTab ) == -1 ) TabView.moveTabTo( downTab, TabView._window.GroupItems._activeGroupItem.id ); downTab = downTab || gBrowser.addTab( downTabUrl ); var pos = selTab._tPos + ( downTab._tPos > selTab._tPos ); gBrowser.moveTabTo( downTab, pos ); gBrowser.selectedTab = downTab; } }; // Автоматически меняем иконку для таба "Загрузки" ......................................................... addEventListener("TabAttrModified", function(e) { if ( e.target.linkedBrowser.currentURI.spec == downTabUrl ) { var tabIndex = gBrowser.getBrowserIndexForDocument( e.target.linkedBrowser.contentDocument ); var tab = gBrowser.mTabContainer.childNodes[tabIndex]; LOG(tab.label) tab.image = ( tab.label == "Загрузки" )? falseDownloadsImg: trueDownloadsImg; } }, true, gBrowser.tabContainer); // Отслеживать все команды связные с загрузкой и запускать нужные функции и команды ........ function getCommand(e) { var command = e.target.getAttribute("oncommand"); if ( command == "performCommand('cmd_removeFromList');" || command == 'clearDownloadList();') { if ( content.document.location == downTabUrl) document.getElementById("Browser:Reload").doCommand(); if ( document.getElementById('sidebar-box').getAttribute('sidebarcommand') ) openWebPanel("Downloads", downTabUrl ); } }; addEventListener("command", getCommand, true, window); // Исправляем ошибки ....................................................................................... function setFakeArguments(e) { if ( e.target.location.href == 'chrome://mozapps/content/downloads/downloads.xul' ) { var win = e.target.defaultView; win = win.wrappedJSObject || win; win.arguments = []; } }; addEventListener("TabClose", setFakeArguments, true, gBrowser); addEventListener("DOMContentLoaded", setFakeArguments, true, gBrowser); addEventListener("DOMContentLoaded", setFakeArguments, true, document.getElementById('sidebar-box')); // Закрыть стандартный менеджер загрузок .................................................................... function closeDownloadManager() { var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.close(); }; // Подсказка для кнопки ..................................................................................... this.tooltipText = "L: Download Manager in the Sidebar\nM: Download Manager \nR: Download Manager in the Tab\nCtrl+R: CB menu ";
2) Нужна кнопка, которая откроет окно загрузок (Ctrl+J).
Отсутствует
Для 26 можете исправить кнопку?
1) Открывает боковую панель с загрузками.
А что с ней не так, вроде работает
2) Нужна кнопка, которая откроет окно загрузок (Ctrl+J).
Создай кнопку с кодом:
var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.focus(); else BrowserDownloadsUI();
Отредактировано bunda1 (27-12-2013 00:36:19)
Отсутствует
Для 26 можете исправить кнопку?
А если так:
// Настройка функций кликов мыши для кнопки ................................................................ this.onclick = function(e) { // действие при клике ЛКМ .... if ( e.button == 0 ) { document.getElementById('sidebar-box').getAttribute('sidebarcommand') ? toggleSidebar() : openWebPanel("Downloads", downTabUrl ); }; // действие при клике СКМ .... if ( e.button == 1 ) { var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.focus(); else BrowserDownloadsUI(); }; // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); downloadManagerInTab( true ); } }; // Объявляем переменные для этой вкладки ................................................................... var downTabUrl = 'about:downloads'; // иконки для вкладки загрузок .... const trueDownloadsImg = "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAWAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAAIAAAMACyIAEGyoLtVqpyrVDSIADwAAAgABAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAAgAAAgALHwAPZaAmwsXxnv+t63n/XpwbwAcUAA0AAAIAAQIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwADAAACAAwgAA9loyXFv+2W/7/wl/yg52b8n+Nj/1OJG8EBCAAMAAACAAECAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAECAAIAAAIADCEADmSiI8Sx4oX/suWH+7HmhP+T3FX/i9dK+5LZUv9RhxnAAQkADAAAAgABAgACAAAAAAAAAAAAAAAAAQIAAgAAAgANIQANY6Eiw6nbfP+l23f7p913/6fed/+I0kj/gs5A/37KPvuL0Ev/UIYYvwIJAAsAAAIAAQIAAgAAAAABAQABAAABAAsgAA1gnh/BoNJy/5vSa/qe1W3/odhx/5/Ybv+Cy0H/fsg8/3zFOv92vjX6g8VD/0yCFL0BCAALAAABAAABAAEAAAEACRUAEmqmKcyn2Hr/n9Ry/Z3Tbv+Yz2b/mtJp/5nRZv99xDz/ecI3/3e/Nv97wT7/e78//YvKT/9Xjhy/BAwACQAAAQAAAAEAFCkAL2CUKdxhkTDXXI4o1m+mN/KWzGb/ksth/pLLX/93vTn/croz/nm9Pf9noizyVoog1lqNJtlbkx/TDyAAHwAAAQAAAAAAAAAAAAAAAAACAwEEAAAAAD5oFqeXz2X/icFY+4rDWP9ytjX/bLEu+3/CQv8+ZxSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEDBAMEAAAAAEFqFqeSyV7/g7pR+4S8Uf9usDP/aKsr+3u9Pv9AaRSnAAAAAAMEAgQBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeNxVj/fbRK+3+2Sv9rqzD/ZaYo+3m5PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeJwlT/eLBF+3qyRv9qqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeHwFD/da5B+3exQv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeEv03/cqw8+3WvPv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeCvkn/cKs4+3OuO/9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAD9oE6d+vET/bKky+2+sNf9oqCv/Y6Mm+3e3Ov8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFaeDv0v/cKw5+3OvPP9vqzX/aqcx+3+8RP9AaRSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgAEAAAAADlkCox1szT/a6Yv+W2oMPxspy78aqQt+XSyMv85ZAqMAAAAAAECAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; const falseDownloadsImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACmElEQVR42oyU3UtUQRiHn9k9c47Ho+4uhrkthmUfkHeB91GJ1paiJl0EQZd9U3f+E1EX0b8QEUQX0ScZWd0E3VhBrWJFuZuEqyLsOTtnznSxx9rSzPdq5p13nhl+729GTBXL/BUJwAFcwAZEnDdAFagAARDVb7JYHQ6QBTKsHWWgGAPXBblAZu/ubTdUQ6YnKWslWoVIv/z6zYeZ08DCRkA2QPOW7T2dXTuwLAsMhDrk03Shp77mfyABkE6laGluRgiBACJjSKXSf9T8D1RbsBJIy0IIgcGQMAYrKfhn/b9BFtKWv1sWGZKJ5LqgJNAQiyyB1hpI4ti/pYiiCEvKlWlrbIcwFt23YkgH4NWf4DV5OI4DQmCMwWiN53n1FsnF42Xgq5gqljPA9u7OjjvupmxHUypF++Z2duzsIp3O1DQyhkhr5svzFAoFSsUSy0uL6KW5z29nZkeAaSt2a/Xy2Nit8RevLmS3bJUtqRSNXiOOLX+BwlCTTmfY091NLpujNPtF5fvP3IxdrizAB2bPnjt/r21zm3g6PnHe3tQqGxwHy5KIhMBEBoTCMQalAsJqJTh18sS1oeFjD32liysaaWDRV3pydPQ4rtMQPh6fuNjouo7luiREgshEGBPhhyHzc9+DwXz/1YGh4fu+0u+ARUCvtD8EFnylJ/MDg5G0ZfT42cSlnN3peF4TRkWoasCPuWLl6OH+a4fyRx4ENUg5vsgfPgqBcqD0u96+wwYET5+/vNjWnnONiSh9+1rJ9x28cqC3/1Gg9Pt6yFqG1EC5Gur3vX2HsG2pbt+5exYDI0OD1/ftP/ikGq6GAIg1/iNik6Ydmdzl2nI3QKWqPgRKf4xfvt7oE9HAQqD0ZKB0Ic75sYv1Wht+DgB8pQ6678CoOAAAAABJRU5ErkJggg=="; /* Открывать загрузки в табе или переместить вкладку загрузок рядом с текущей вкладкой если загрузи уже открыты и закрыть все лишние вкладки загрузок ..........................................*/ function downloadManagerInTab( foregroundTab ) { setTimeout(function() { closeDownloadManager() }, 0); // закрыть стандартный менеджер загрузок // закрыть все вкладки загрузок кроме первой .... var downTab = null; Array.slice( gBrowser.tabs ).forEach(function(tab) { if ( tab.linkedBrowser.currentURI.spec !== downTabUrl ) return; !downTab ? downTab = tab : gBrowser.removeTab(tab); }) // переместить или открыть вкладку загрузок рядом с текущей вкладкой .... var selTab = gBrowser.selectedTab; if ( downTab !== selTab ) { if ( downTab && gBrowser.visibleTabs.indexOf( downTab ) == -1 ) TabView.moveTabTo( downTab, TabView._window.GroupItems._activeGroupItem.id ); downTab = downTab || gBrowser.addTab( downTabUrl ); var pos = selTab._tPos + ( downTab._tPos > selTab._tPos ); gBrowser.moveTabTo( downTab, pos ); gBrowser.selectedTab = downTab; } }; // Автоматически меняем иконку для таба "Загрузки" ......................................................... addEventListener("TabAttrModified", function(e) { if ( e.target.linkedBrowser.currentURI.spec == downTabUrl ) { var tabIndex = gBrowser.getBrowserIndexForDocument( e.target.linkedBrowser.contentDocument ); var tab = gBrowser.mTabContainer.childNodes[tabIndex]; LOG(tab.label) tab.image = ( tab.label == "Загрузки" )? falseDownloadsImg: trueDownloadsImg; } }, true, gBrowser.tabContainer); // Отслеживать все команды связные с загрузкой и запускать нужные функции и команды ........ function getCommand(e) { var command = e.target.getAttribute("oncommand"); if ( command == "performCommand('cmd_removeFromList');" || command == 'clearDownloadList();') { if ( content.document.location == downTabUrl) document.getElementById("Browser:Reload").doCommand(); if ( document.getElementById('sidebar-box').getAttribute('sidebarcommand') ) openWebPanel("Downloads", downTabUrl ); } }; addEventListener("command", getCommand, true, window); // Закрыть стандартный менеджер загрузок .................................................................... function closeDownloadManager() { var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.close(); }; // Подсказка для кнопки ..................................................................................... this.tooltipText = "L: Download Manager in the Sidebar\nM: Download Manager \nR: Download Manager in the Tab\nCtrl+R: CB menu ";
Отсутствует
Всех с Праздником! Вот какой вопрос у меня. Делал умный человек мне кнопку для поиска скриптов на сайте userscripts.org
Отсутствует
Хочу для своих нужд переделать, только чтоб брался не весь адрес, а часть после последнего слеша.
http://www.хххххххх.хх/хххх/вот эта часть
Не совсем понятно сформулировано - что нужно?
Задать в поиск на сайте userscripts.org адрес страницы, на которой сейчас находишься?
url = content.document.location.href; adr=(url.substring(url.indexOf('/')+2)); getBrowser().selectedTab = getBrowser().addTab("https://userscripts.org/scripts/search?q=" + adr +"&submit=Search");
Отсутствует
Чайник
Нужно чтоб http://www.хххххххх.хх/хххх/вот эта часть - копировалась и подставлялась в строку поиска "http://www.хххххххх.хх/хххх/search?q= вот сюда"
Отредактировано Mishania (07-01-2014 22:54:10)
Отсутствует
А как сделать, чтобы в кнопке Proxy( Firefox 10 + ) от 11.12.2013 можно было создать прокси из выделения и в текстовых полях?
Я пробовал здесь
// устанавливаем где показывать пункт меню addEventListener("popupshowing", function() { menuitem.hidden = !cbu.getPrefs("Proxy.inContextMenu") || !gContextMenu.isContentSelected; }, false, contextMenu );
закомментировать || !gContextMenu.isContentSelected но тогда пункт "Добавить прокси" висит в меню постоянно. Оно и понятно.
Не сильно это мешает, но может можно сделать все это менее топорным способом?
Отредактировано Ki_rrrilll (08-01-2014 15:45:15)
Отсутствует
Замени:
на:
Отредактировано bunda1 (08-01-2014 20:09:48)
Отсутствует
Спасибо, bunda1!
Отсутствует