Как сделать автофокус в адресную строку, при открытии новой вкладки (super start в качестве новой вкладки стоит).
Отсутствует
LittleMontana
function urlbarFocus() { setTimeout(()=> { var contentWindow = window.gBrowser.selectedBrowser.contentWindow, focusedWindow = Services.focus.focusedWindow.window, isSpeedDial = contentWindow.location.href.startsWith('chrome://speeddial/'); try { focusedWindow.content.location.href == contentWindow.location.href; } catch(e) { return; } if (isSpeedDial) gURLBar.focus(); else contentWindow.focus(); }, 0) } gBrowser.tabContainer.addEventListener("TabSelect", urlbarFocus, false); gBrowser.tabContainer.addEventListener("TabAttrModified", urlbarFocus, false);
Вместо chrome://speeddial/ - подставьте нужное.
UPD: Поправил, чтобы фокус не переходил на окно с контентом, если если оно не активно.
UPD2: Вернул таймаут. Иногда, все-таки, не срабатывает без него.
Отредактировано turbot (11-05-2016 07:36:07)
Отсутствует
Спасибо большое!
Отсутствует
Уважаемые разработчики, прошу, понимая сложность таких комбинированных функций. Но все таки может понравится идея:
Умная панель закладок работающая по такому же принципу как и новая панель поиска.
Показывать панель закладок когда активируется адресная строка: когда кликаешь в ней мышкой, или нажимаешь клавишу F6, или при открытии новой вкладки.
А закрывалась в трех случаях, когда ты кликнул левой кнопкой по закладке и началась загрузка, либо кликаешь в любом месте на странице если передумал, либо закрыл вкладку.
Отредактировано Stakhovsky (09-04-2016 14:21:42)
Отсутствует
Последнее время при попытке вызвать слайдер - custombuttons.alertSlide("Ок", " ") - стала спонтанно появляться ошибка в консоли
Component returned failure code: 0x8057000a (NS_ERROR_XPC_BAD_CONVERT_NATIVE) [nsIAlertsService.showAlertNotification]
C чем это может быть связано?
Отсутствует
Подскажите. Нужно что-бы открывался в текущей вкладке
var url1="http://translate.google.ru/translate?js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&sl=auto&tl=ru&u="; var url2 = window._content.document.location.href var summa=(url1+url2) getBrowser (). selectedTab = getBrowser (). addTab (summa);
Отсутствует
Подскажите. Нужно что-бы открывался в текущей вкладке Выделить кодКод:var url1="http://translate.google.ru/translate?js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&sl=auto&tl=ru&u=";
var url2 = window._content.document.location.href
var summa=(url1+url2)
getBrowser (). selectedTab = getBrowser (). addTab (summa);
/*CODE*/ var url1="http://translate.google.ru/translate?js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&sl=auto&tl=ru&u="; var url2 = window._content.document.location.href var summa=(url1+url2) loadURI(summa);
Вобще-то всё уже написано во всех вариантах [CB] Context translate | Форум Mozilla Россия
Отредактировано lokiju (13-04-2016 12:44:53)
Отсутствует
lokiju, спасибо
Отсутствует
Вобще-то всё уже написано во всех вариантах [CB] Context translate | Форум Mozilla Россия
А сейчас нету алфавитного списка готовых кнопок?
Отсутствует
Ferguss114
Ну есть Готовые кнопки для Custom Buttons, но там нет кнопок, у которых отдельная тема.
Подскажите пожалуйста, как получить mime-тип для данных в буфере обмена? Сам смог найти только либо для файла или uri, либо как задать.
Отсутствует
Ferguss114
Ну есть Готовые кнопки для Custom Buttons, но там нет кнопок, у которых отдельная тема.
Ну этот топик я и имел в виду. Раньше весь вписок кнопок был под спойлером, открываешь спойлер и поиском по странице находишь нужное.
А сейчас значит нет...
Отсутствует
сделал кнопку, а как сделать чтоб она отключалась мозгов не хватает
посоветуйте, пожалуйста
код инициализации:
RedLink = function() { var links = content.document.getElementsByTagName("a"); var hrefs = {}; var lnk, h; for (var i = 0, len = links.length; i < len; i++) { lnk = links[i]; h = lnk.href; var RegExp = /http\:..(www.){0,1}[0-9A-z-]+\.[0-9A-z-]+\/(vtg)_(prizepage).(php)\?(securecode)\=[0-9A-z-]+/g; //vtg var result = h.match(RegExp); if (result != null) getBrowser().addTab(h) // в новой фоновой } } //добавляем обработчики для табов...... gBrowser.tabContainer.addEventListener("TabSelect", RedLink, false); gBrowser.addEventListener("DOMContentLoaded", function(event){ //фылтр.... //стоп, если открыть новые таби if (event.target.location.href !== getBrowser().currentURI.spec) return; //стоп, если срабатывает на фрейме var document = event.originalTarget; if (document instanceof HTMLDocument && this.contentWindow.document !== document) return; RedLink(event)}, false);
спасибо
Отредактировано alega1111 (13-04-2016 19:54:38)
Отсутствует
alega1111
this._handleClick =()=> cbu.setPrefs(s, !cbu.getPrefs(s)); var s = 'CB.RedLink'; cbu.isPref(s, false); RedLink = function() { var links = content.document.getElementsByTagName("a"); var hrefs = {}; var lnk, h; for (var i = 0, len = links.length; i < len; i++) { lnk = links[i]; h = lnk.href; var RegExp = /https?:\/\/forum\.mozilla-russia\.org\/profile\.php\?id=62696/; var result = h.match(RegExp); if (result != null) getBrowser().addTab(h); } }; var listener = { TabSelect : RedLink, DOMContentLoaded : function(event) { if (event.target.location.href !== getBrowser().currentURI.spec) return; var document = event.originalTarget; if (document instanceof HTMLDocument && this.contentWindow.document !== document) return; RedLink(event); } }; function toggleImage() { var val = cbu.getPrefs(s); var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon"); icon.style.filter = val ? '' : 'grayscale(1)'; self.checked = val; var func = val ? addEventListener : removeEventListener; func("TabSelect", listener.TabSelect, false, gBrowser.tabContainer); func("DOMContentLoaded", listener.DOMContentLoaded, false, gBrowser); }; toggleImage(); gPrefService.addObserver(s, toggleImage, false); addDestructor(()=> gPrefService.removeObserver(s, toggleImage) );
Отсутствует
alega1111
скрытый текстВыделить кодКод:
this._handleClick =()=> cbu.setPrefs(s, !cbu.getPrefs(s)); var s = 'CB.RedLink'; cbu.isPref(s, false); RedLink = function() { var links = content.document.getElementsByTagName("a"); var hrefs = {}; var lnk, h; for (var i = 0, len = links.length; i < len; i++) { lnk = links[i]; h = lnk.href; var RegExp = /https?:\/\/forum\.mozilla-russia\.org\/profile\.php\?id=62696/; var result = h.match(RegExp); if (result != null) getBrowser().addTab(h); } }; var listener = { TabSelect : RedLink, DOMContentLoaded : function(event) { if (event.target.location.href !== getBrowser().currentURI.spec) return; var document = event.originalTarget; if (document instanceof HTMLDocument && this.contentWindow.document !== document) return; RedLink(event); } }; function toggleImage() { var val = cbu.getPrefs(s); var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon"); icon.style.filter = val ? '' : 'grayscale(1)'; self.checked = val; var func = val ? addEventListener : removeEventListener; func("TabSelect", listener.TabSelect, false, gBrowser.tabContainer); func("DOMContentLoaded", listener.DOMContentLoaded, false, gBrowser); }; toggleImage(); gPrefService.addObserver(s, toggleImage, false); addDestructor(()=> gPrefService.removeObserver(s, toggleImage) );
спасибо за оперативность, но не работает
(при нажатии на кнопку иконка меняется, но ссылки не открываются)
Отредактировано alega1111 (13-04-2016 21:26:39)
Отсутствует
alega1111
При смене вкладки работает, а на DOMContentLoaded - нет. Не знаю почему. А, и я там адрес в регулярке поменял, для проверки.
Я подумаю, но тоже не большой знаток. Может кто еще подскажет.
Отсутствует
alega1111
Хм, и что, при загрузке страницы тоже работает? Потому что у меня нет. Или вы сами уже что-то поправили?
Добавлено 13-04-2016 22:02:34
Поправил, вроде:
this._handleClick =()=> cbu.setPrefs(s, !cbu.getPrefs(s)); var s = 'CB.RedLink'; cbu.isPref(s, false); RedLink = function() { var links = content.document.getElementsByTagName("a"); var hrefs = {}; var lnk, h; for (var i = 0, len = links.length; i < len; i++) { lnk = links[i]; h = lnk.href; var RegExp = /https?:\/\/forum\.mozilla-russia\.org\/profile\.php\?id=62696/; var result = h.match(RegExp); if (result != null) gBrowser.addTab(h); } }; var listener = { TabSelect : RedLink, DOMContentLoaded: function(e) { if (e.target.location.href !== gBrowser.currentURI.spec) return; var doc = e.target; var win = doc.defaultView; if (win != win.top) return; RedLink(e) } } function toggleImage() { var val = cbu.getPrefs(s); var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon"); icon.style.filter = val ? '' : 'grayscale(1)'; self.checked = val; var func = val ? addEventListener : removeEventListener; func("TabSelect", listener.TabSelect, false, gBrowser.tabContainer) || func("DOMContentLoaded", listener.DOMContentLoaded, false, gBrowser); }; toggleImage(); gPrefService.addObserver(s, toggleImage, false); addDestructor(()=> gPrefService.removeObserver(s, toggleImage) );
Отредактировано turbot (13-04-2016 22:02:34)
Отсутствует
turbot
при загрузке не знаю, так как там все страницы с ифреймом и если обновляешь страницу ссылка пропадает.
Если ставить листенер только на загрузку страницы то срабатывает несколько лишних раз.
---------------
погонял по страницам - все работает как надо. Спасибо!
Отсутствует
oleg.sgh
layout.scrollbar.side;3
Спасибо. Искал в стилях и в дополнениях а оно вон оно как...
А можно сделать слева полосу в...10 пикселей на которой страница будет перетягиваться ЛКМ как за полосу прокрутки.
Т.е. нажал в этой зоне ЛКМ и переместил страницу....как бы за полоску прокрутки.
Как в Scrollbar Anywhere но именно в этой зоне. Дополнение нет возможности использовать из за жестов и левая и средняя кнопки не устраивают.
П.с. саму полосу прокрутки могу оставить и справа. Она у меня уменьшена и служит лишь в качестве индикатора расположения на странице...в основном.
Отредактировано oleg.sgh (16-04-2016 10:27:28)
Отсутствует
oleg.sgh
Может так устроит:
/* AGENT_SHEET */ @namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace html url("http://www.w3.org/1999/xhtml"); @namespace svg url(http://www.w3.org/2000/svg); @-moz-document url-prefix(http) { html > scrollbar[orient="vertical"] scrollbarbutton { -moz-appearance: none !important; display: none !important; } html > scrollbar[orient="vertical"] { -moz-appearance: none!important; position: relative!important; -moz-margin-start: -15px!important; -moz-box-align: start!important; padding: 0!important; background: none!important; border: none!important; min-width: 15px!important; max-width: 15px!important; z-index: 2147483647!important; pointer-events: none!important; } html > scrollbar[orient="vertical"] thumb { -moz-appearance: none!important; pointer-events: auto!important; background: none!important; border: .5px solid rgba(0,0,0,.4)!important; border-radius: 1px!important; box-shadow: 0 0 1px rgba(255,255,255,.7) inset!important; min-height: 40vh!important; min-width: 15px!important; max-width: 15px!important; } html > scrollbar[orient="vertical"] thumb:hover { border-color: rgba(0,0,0,.6)!important; box-shadow: 0 0 1px rgba(255,255,255,.8) inset!important; } html > scrollbar[orient="vertical"] thumb:active { border-color: rgba(0,0,0,.8)!important; box-shadow: 0 0 1px rgba(255,255,255,.9) inset!important; } html div scrollbar { -moz-margin-start: 0!important; } /* html > scrollbar[orient="horizontal"] scrollbarbutton { -moz-appearance: none !important; display: none !important; } html > scrollbar[orient="horizontal"] { -moz-appearance: none!important; position: relative!important; margin-block-start: -15px!important; -moz-box-align: start!important; padding: 0!important; background: none!important; border: none!important; min-height: 15px!important; max-height: 15px!important; z-index: 2147483647!important; pointer-events: none!important; } html > scrollbar[orient="horizontal"] thumb { -moz-appearance: none!important; pointer-events: auto!important; background: none!important; border: .5px solid rgba(0,0,0,.4)!important; border-radius: 1px!important; box-shadow: 0 0 1px rgba(255,255,255,.7) inset!important; min-width: 40vw!important; min-height: 15px!important; max-height: 15px!important; } html > scrollbar[orient="horizontal"] thumb:hover { border-color: rgba(0,0,0,.6)!important; box-shadow: 0 0 1px rgba(255,255,255,.8) inset!important; } html > scrollbar[orient="horizontal"] thumb:active { border-color: rgba(0,0,0,.8)!important; box-shadow: 0 0 1px rgba(255,255,255,.9) inset!important; } */ }
Отсутствует
turbot
Может так устроит:
Спасибо за труд, но это не совсем то...вернее совсем не то. Может просто я сумбурно объяснил...
Нужна не сама полоска прокрутки а именно зона слева в которой можно перетаскивать страницу вниз или вверх.
Т.е. подвел курсор к краю экрана в любом месте, нажал ЛКМ и, не отпуская кнопки, передвинул страницу.
Отсутствует
Как сделать, чтобы элемент с конкретным селектором, был всегда обведен рамкой?
А если этот элемент не виден, то чтобы рамка показывала место, где он должен находиться.
Т. е. как бы сделать видимыми границы прямоугольника getBoundingClientRect
Отредактировано rbfyec (16-04-2016 12:16:09)
Отсутствует