Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№1002608-04-2016 09:38:52

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 43.0

Re: Custom Buttons

Как сделать автофокус в адресную строку, при открытии новой вкладки (super start в качестве новой вкладки стоит).

Отсутствует

 

№1002708-04-2016 10:55:45

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 48.0

Re: Custom Buttons

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)

Отсутствует

 

№1002808-04-2016 12:41:01

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 43.0

Re: Custom Buttons

Спасибо большое!

Отсутствует

 

№1002908-04-2016 21:43:08

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: unknown 0.0

Re: Custom Buttons

Уважаемые разработчики, прошу, понимая сложность таких комбинированных функций. Но все таки может понравится идея:
Умная панель закладок работающая по такому же принципу как и новая панель поиска.

Показывать панель закладок когда активируется адресная строка: когда кликаешь в ней мышкой, или нажимаешь клавишу F6, или при открытии новой вкладки.
А закрывалась в трех случаях, когда ты кликнул левой кнопкой по закладке и началась загрузка, либо кликаешь в любом месте на странице если передумал, либо закрыл вкладку.

Отредактировано Stakhovsky (09-04-2016 14:21:42)

Отсутствует

 

№1003010-04-2016 08:56:25

Caddy
Участник
 
Группа: Members
Зарегистрирован: 01-01-2016
Сообщений: 40
UA: Firefox 45.0

Re: Custom Buttons

С какой версии CM отвалится? :cool:

Отредактировано Caddy (20-04-2016 21:44:13)

Отсутствует

 

№1003111-04-2016 01:02:49

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 29.0

Re: Custom Buttons

Последнее время при попытке вызвать слайдер - custombuttons.alertSlide("Ок", " ") - стала спонтанно появляться ошибка в консоли

Выделить код

Код:

Component returned failure code: 0x8057000a (NS_ERROR_XPC_BAD_CONVERT_NATIVE) [nsIAlertsService.showAlertNotification]

C чем это может быть связано?

Отсутствует

 

№1003213-04-2016 09:58:55

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 45.0

Re: Custom Buttons

Подскажите. Нужно что-бы открывался в текущей вкладке

Выделить код

Код:

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);

Отсутствует

 

№1003313-04-2016 12:41:05

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 42.0

Re: Custom Buttons

vitalii201 пишет

Подскажите. Нужно что-бы открывался в текущей вкладке Выделить кодКод: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)

Отсутствует

 

№1003413-04-2016 14:01:37

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 45.0

Re: Custom Buttons

lokiju, спасибо

Отсутствует

 

№1003513-04-2016 15:04:37

Ferguss114
Участник
 
Группа: Members
Зарегистрирован: 31-03-2012
Сообщений: 207
UA: Firefox 45.0

Re: Custom Buttons

lokiju пишет

Вобще-то всё уже написано во всех вариантах [CB] Context translate | Форум Mozilla Россия

А сейчас нету алфавитного списка готовых кнопок?

Отсутствует

 

№1003613-04-2016 18:31:37

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 48.0

Re: Custom Buttons

Ferguss114
Ну есть Готовые кнопки для Custom Buttons, но там нет кнопок, у которых отдельная тема.




Подскажите пожалуйста, как получить mime-тип для данных в буфере обмена? Сам смог найти только либо для файла или uri, либо как задать.

Отсутствует

 

№1003713-04-2016 19:32:49

Ferguss114
Участник
 
Группа: Members
Зарегистрирован: 31-03-2012
Сообщений: 207
UA: Firefox 45.0

Re: Custom Buttons

turbot пишет

Ferguss114
Ну есть Готовые кнопки для Custom Buttons, но там нет кнопок, у которых отдельная тема.

Ну этот топик я  и имел в виду. Раньше весь вписок кнопок был под спойлером, открываешь спойлер и поиском по странице находишь нужное.
А сейчас значит нет...

Отсутствует

 

№1003813-04-2016 19:51:44

alega1111
Участник
 
Группа: Members
Зарегистрирован: 13-04-2016
Сообщений: 5
UA: Firefox 45.0

Re: 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)

Отсутствует

 

№1003913-04-2016 20:53:53

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 48.0

Re: Custom Buttons

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) );

Отсутствует

 

№1004013-04-2016 21:24:59

alega1111
Участник
 
Группа: Members
Зарегистрирован: 13-04-2016
Сообщений: 5
UA: Firefox 45.0

Re: Custom Buttons

turbot пишет

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)

Отсутствует

 

№1004113-04-2016 21:33:05

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 48.0

Re: Custom Buttons

alega1111
При смене вкладки работает, а на DOMContentLoaded - нет. Не знаю почему. А, и я там адрес в регулярке поменял, для проверки.
Я подумаю, но тоже не большой знаток. :) Может кто еще подскажет.

Отсутствует

 

№1004213-04-2016 21:35:27

alega1111
Участник
 
Группа: Members
Зарегистрирован: 13-04-2016
Сообщений: 5
UA: Firefox 45.0

Re: Custom Buttons

дико извиняюсь, все отлично работает!
это я регулярку обратно не поменял
спасибо еще раз!

Отсутствует

 

№1004313-04-2016 21:41:50

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 48.0

Re: Custom Buttons

alega1111
Хм, и что, при загрузке страницы тоже работает? Потому что у меня нет.  Или вы сами уже что-то поправили? :rolleyes:

Добавлено 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)

Отсутствует

 

№1004413-04-2016 22:20:41

alega1111
Участник
 
Группа: Members
Зарегистрирован: 13-04-2016
Сообщений: 5
UA: Firefox 45.0

Re: Custom Buttons

turbot
при загрузке не знаю, так как там все страницы с ифреймом и если обновляешь страницу ссылка пропадает.
Если ставить листенер только на загрузку страницы то срабатывает несколько лишних раз.
---------------
погонял по страницам - все работает как надо. Спасибо!

Отсутствует

 

№1004516-04-2016 09:20:29

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 45.0

Re: Custom Buttons

Можно кнопкой сделать полосу вертикальной прокрутки слева?
С правой стороны сделан всплывающий журнал и приходится прицеливаться в полосу прокрутки что бы он не появлялся.

Отсутствует

 

№1004616-04-2016 09:28:55

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 48.0

Re: Custom Buttons

oleg.sgh
layout.scrollbar.side;3

Отсутствует

 

№1004716-04-2016 09:36:05

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 45.0

Re: Custom Buttons

turbot пишет

oleg.sgh
layout.scrollbar.side;3

Спасибо. Искал в стилях и в дополнениях а оно вон оно как...
А можно сделать  слева полосу в...10 пикселей на которой страница будет перетягиваться ЛКМ как за полосу прокрутки.
Т.е. нажал в этой зоне ЛКМ и переместил страницу....как бы за полоску прокрутки.
Как в Scrollbar Anywhere но именно в этой зоне. Дополнение нет возможности использовать из за жестов и левая и средняя кнопки не устраивают.
П.с. саму полосу прокрутки могу оставить и справа. Она у меня уменьшена и служит лишь в качестве индикатора расположения на странице...в основном.

Отредактировано oleg.sgh (16-04-2016 10:27:28)

Отсутствует

 

№1004816-04-2016 10:55:40

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 48.0

Re: Custom Buttons

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;
  } */
}


Только для Stylish'а. С цветами/размерами разберетесь, думаю. Если хотите чтоб применялся и к скролбарам на странице, поубирайте html > . Если для всех элементов браузера и внутренних страниц - уберите @-moz-document url-prefix(http) {}. Если и для горизонтальных скролбаров - расскомментируйте секцию в конце. Если хотите, чтобы работали клики по самой полосе прокрутки, а не только индикатору - удалите pointer-events: none!important;.

Отсутствует

 

№1004916-04-2016 11:12:02

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 45.0

Re: Custom Buttons

turbot

Может так устроит:

Спасибо за труд, но это не совсем то...вернее совсем не то. Может просто я сумбурно объяснил...
Нужна не сама полоска прокрутки а именно зона слева в которой можно перетаскивать страницу вниз или вверх.
Т.е. подвел курсор к краю экрана в любом месте, нажал ЛКМ и, не отпуская кнопки, передвинул страницу.

Отсутствует

 

№1005016-04-2016 12:09:04

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 29.0

Re: Custom Buttons

Как сделать, чтобы элемент с конкретным селектором, был всегда обведен рамкой?
А если этот элемент не виден, то чтобы рамка показывала место, где он должен находиться.
Т. е. как бы сделать видимыми границы прямоугольника getBoundingClientRect

Отредактировано rbfyec (16-04-2016 12:16:09)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]