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

Не получается решить проблему на форуме? Служба технической поддержки Mozilla Россия — support@mozilla-russia.org.
  • Форумы
  •  » Сustom Buttons
  •  » [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

№2606-03-2013 09:08:35

questman
Участник
 
Группа: Members
Зарегистрирован: 05-11-2011
Сообщений: 189
UA: Firefox 19.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

Мне нужно вот так:

скрытый текст

Выделить код

Код:

function openOrRemoveBook(e){
    var type = e.type;
    var target = e.target;
    // стоп, если не закладка из меню закладок ....
    if(target.localName !== "menuitem" || !target._placesNode) return;
         // если левый клик меню не закрывается    
         if(type == 'mouseup' && e.button == 0){
            e.preventDefault();
            e.stopPropagation();
            var itemUri = target._placesNode.uri; // получить адрес закладки
            var bookmarklet = ( target.getAttribute("scheme") == 'javascript' ); 
            var current = ["about:newtab", "about:blank", "chrome://browser/content/bookmarks/bookmarksPanel.xul", bookmarklet];
            (bookmarklet || current.indexOf(content.location.href) !== -1 || e.ctrlKey) ? gBrowser.loadURI(itemUri): gBrowser.addTab(itemUri);
         };
         // если средний клик меню не закрывается
        if(type == 'click' && e.button == 1){
            e.stopPropagation();
            gBrowser.addTab(target._placesNode.uri)
        };       
};               
window.addEventListener("mouseup", openOrRemoveBook, true);
window.addEventListener("click", openOrRemoveBook, true);
this.onDestroy = function(){
     window.removeEventListener("click", openOrRemoveBook, true);
     window.removeEventListener("mouseup", openOrRemoveBook, true);
};


bunda1 проверь пожалуйста верна ли редакция кода под себя

Отсутствует

 

№2706-03-2013 17:02:31

mettis
Участник
 
Группа: Members
Зарегистрирован: 28-02-2013
Сообщений: 5
UA: unknown 0.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

bunda1 а что поводу открытия одинаковых ссылок из закладок? нашли ошибку?

Отсутствует

 

№2806-03-2013 23:52:27

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

questman пишет:

Мне нужно вот так:
bunda1 проверь пожалуйста верна ли редакция кода под себя

Нормально все :)

Добавлено 07-03-2013 00:02:29

mettis пишет:

bunda1 а что поводу открытия одинаковых ссылок из закладок? нашли ошибку?

Нет, и у меня открывается только одна ссылка.  В коде есть проблема с авто закрытием которую я пока не решил.

Отредактировано bunda1 (07-03-2013 00:02:29)

Отсутствует

 

№2918-04-2013 17:24:28

sissterr
Участник
 
Группа: Members
Зарегистрирован: 07-11-2009
Сообщений: 16
UA: Opera 12.1
Веб-сайт

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

у меня тоже на 20м открывается по 3-7 вкладок

Отсутствует

 

№3018-04-2013 19:32:32

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

sissterr пишет:

у меня тоже на 20м открывается по 3-7 вкладок

Проблема наблюдается сразу после запуска браузера ?
Используешь расширения для работы с закладками ?
В кнопке с кодом [CB]Открывать закладки левым кликом... есть другие коды ?

Отсутствует

 

№3118-04-2013 22:16:25

sissterr
Участник
 
Группа: Members
Зарегистрирован: 07-11-2009
Сообщений: 16
UA: Opera 12.1
Веб-сайт

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

bunda1,
да
нет
нет

Отсутствует

 

№3219-04-2013 02:29:55

adidharma
 
Группа: Members
Зарегистрирован: 15-08-2011
Сообщений: 733
UA: Firefox 21.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

sissterr пишет:

у меня тоже на 20м открывается по 3-7 вкладок

А версия CustomButtons какая? У меня такое было со старой. Нужно поставить самую последнюю dev-версию отсюда, например: custombuttons-0.0.5.6pre5-20130226
На версиях [firefox] 20 - 23 кнопка нормально работает.

Отсутствует

 

№3319-04-2013 14:11:10

sissterr
Участник
 
Группа: Members
Зарегистрирован: 07-11-2009
Сообщений: 16
UA: Opera 12.1
Веб-сайт

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

adidharma, пасибки, эта работает. хотя предыдущую скачала с другого места с точно  таким названием.
А что можно поправить в коде что б меню закладок сразу закрывалось после клика без увода курсора?

Отсутствует

 

№3419-04-2013 15:32:16

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 1938
UA: unknown 0.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

sissterr пишет:

закрывалось после клика без увода курсора?

http://forum.mozilla-russia.org/viewtopic.php?pid=575006#p575006


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№3519-04-2013 23:22:14

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 20.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

sissterr пишет:

А что можно поправить в коде что б меню закладок сразу закрывалось после клика без увода курсора?

Такое уже есть в FF или я что то не понял :/

Отсутствует

 

№3617-07-2013 13:07:07

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

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

bunda1
А к этому коду http://forum.mozilla-russia.org/viewtopic.php?pid=575006#p575006
нельзя прикрутить меню закладок, мне нужно что бы просто открывалось в новой активной вкладке по левому клику и всё. Или код какой другой,чтобы открывалось в активной и меню при клике пряталось.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№3717-07-2013 19:19:30

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

villa7 пишет:

bunda1
Или код какой другой,чтобы открывалось в активной и меню при клике пряталось.

Выделить код

Код:

function openBookmark(e) {
    
    var type = e.type;
    var target = e.originalTarget;
    var bookMenu = target.parentNode;
        
    // стоп, если не закладка из меню закладок .... 
    if ( target.localName !== "menuitem" || !target._placesNode ) return;
            
         // если левый клик открыть закладку в новой вкладке ....    
         if ( type == 'mouseup' && e.button == 0 ) {
              e.preventDefault();
              e.stopPropagation();
              var itemUri = target._placesNode.uri; // получить адрес закладки
              var bookmarklet = ( itemUri.substr(0, 11) == "javascript:"); 
              var current = ["about:newtab", "about:blank", "chrome://browser/content/bookmarks/bookmarksPanel.xul"];
              ( bookmarklet || current.indexOf(content.location.href) !== -1 || e.ctrlKey ) 
              ? gBrowser.loadURI( itemUri ) 
              : gBrowser.selectedTab = gBrowser.addTab( itemUri );
              };        
};               
addEventListener("mouseup", openBookmark, true, window );

Отсутствует

 

№3817-07-2013 20:43:46

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

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

bunda1
Открывает в новой активной нормально, я наверно не совсем точно выразился "и меню при клике пряталось." имелось ввиду при клике по закладке как обычно, а не при клике по странице, мне задержка меню не нужна, у меня там такие портянки с подменю на весь экран что сразу и страницы не видно, а так сразу меню пряталось бы.

Отредактировано villa7 (17-07-2013 20:44:51)


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№3917-07-2013 21:46:38

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

villa7

Выделить код

Код:

function openBookmark(e) {
    
    var type = e.type;
    var target = e.originalTarget;
    var bookMenu = target.parentNode;
        
    // стоп, если не закладка из меню закладок .... 
    if ( target.localName !== "menuitem" || !target._placesNode ) return;
            
         // если левый клик открыть закладку в новой вкладке ....    
         if ( type == 'mouseup' && e.button == 0 ) {
              e.preventDefault();
              e.stopPropagation();
              var itemUri = target._placesNode.uri; // получить адрес закладки
              var bookmarklet = ( itemUri.substr(0, 11) == "javascript:"); 
              var current = ["about:newtab", "about:blank", "chrome://browser/content/bookmarks/bookmarksPanel.xul"];
              ( bookmarklet || current.indexOf(content.location.href) !== -1 || e.ctrlKey ) 
              ? gBrowser.loadURI( itemUri ) 
              : gBrowser.selectedTab = gBrowser.addTab( itemUri );
              
              for ( var node = bookMenu; node; node = node.parentNode ) {
                      if ( node.nodeName == 'menupopup' ) node.hidePopup(); // закрыть все меню закладок
                      }
              };        
};               
addEventListener("mouseup", openBookmark, true, window );

Отсутствует

 

№4017-07-2013 22:42:06

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

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

bunda1
Вот,то что нужно, давно хотел, спасибо большое.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№4101-09-2013 18:49:23

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 887
UA: Firefox 23.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

решил приспособить этот код под среднюю кнопку мыши.
В итоге открываются две одинаковые вкладки. Получается, что e.preventDefault(); e.stopPropagation(); не срабатывают в данной ситуации?

Отсутствует

 

№4201-09-2013 21:36:28

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

Inko7 пишет:

решил приспособить этот код под среднюю кнопку мыши.
В итоге открываются две одинаковые вкладки. Получается, что e.preventDefault(); e.stopPropagation(); не срабатывают в данной ситуации?

Это потому что по умолчанию средняя кнопка открывает закладку по клику а не при отпускании кнопки, то есть если произошло событие click

Выделить код

Код:

function openBookmark(e) {
    
    var type = e.type;
    var target = e.originalTarget;
    var bookMenu = target.parentNode;
        
    // стоп, если не закладка из меню закладок .... 
    if ( target.localName !== "menuitem" || !target._placesNode ) return;
            
         // если левый клик открыть закладку в новой вкладке ....    
         if ( type == 'click' && e.button == 0 ) {
              e.preventDefault();
              e.stopPropagation();
              var itemUri = target._placesNode.uri; // получить адрес закладки
              var bookmarklet = ( itemUri.substr(0, 11) == "javascript:"); 
              var current = ["about:newtab", "about:blank", "chrome://browser/content/bookmarks/bookmarksPanel.xul"];
              ( bookmarklet || current.indexOf(content.location.href) !== -1 || e.ctrlKey ) 
              ? gBrowser.loadURI( itemUri ) 
              : gBrowser.selectedTab = gBrowser.addTab( itemUri );
              };        
};               
addEventListener("click", openBookmark, true, window );

Отредактировано bunda1 (01-09-2013 23:14:47)

Отсутствует

 

№4301-09-2013 23:10:48

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 887
UA: Firefox 23.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

bunda1 пишет:

то есть если произошло событие click

наверное и внутри условия нужно поменять на type == 'click' ?
иначе все равно две вкладки открывает...
а как можно вставить проверку загружаемой вкладки? иначе открывает в ней...

Отсутствует

 

№4401-09-2013 23:16:07

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

Inko7 пишет:

наверное и внутри условия нужно поменять на type == 'click' ?
а как можно вставить проверку загружаемой вкладки? иначе открывает в ней...

Точно, а что за проверка ?

Отсутствует

 

№4502-09-2013 11:39:58

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 887
UA: Firefox 23.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

bunda1 пишет:

а что за проверка ?

например:
- жму скм по первой закладке, она начинает медленно загружаться
- сразу еще раз жму скм по другой  и она начинает открываться не в новой вкладке, а в текущей
нужно еще добавить проверку: если текущая вкладка занята загрузкой, то открывать в новой

Отсутствует

 

№4602-09-2013 17:00:07

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4111
UA: Firefox 23.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

Inko7 пишет:

нужно еще добавить проверку: если текущая вкладка занята загрузкой, то открывать в новой

Вот, кстати, пример: https://forum.mozilla-russia.org/viewto … 33#p621233


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№4702-09-2013 17:17:12

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 887
UA: Firefox 23.0

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

Infocatcher
о, точно! как я позабыл :sick:
спасибо

Все получилось! :rock:

Отредактировано Inko7 (02-09-2013 17:42:50)

Отсутствует

 

№4815-09-2013 14:51:40

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

Открывать закладки средним кликом в новой вкладке не закрывая меню закладок ( Firefox 10 + )
Автор: Dumby
Версия: от 16.09.2013.
Описание: Kод даёт возможность открывать закладки средним кликом на закладке не закрывая меню закладок. Код не работает в боковой панели закладок.
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Открывать закладки средним кликом в новой вкладке не закрывая меню закладок, от 16.09.2013. ................................
(function() {
    const str = 'p"', rep = 'p" && !aEvent.button', obj = BookmarksEventHandler, func = obj.onClick;
    eval("BookmarksEventHandler.onClick = " + String.replace(func, str, rep));
    addDestructor(function() obj.onClick = func);
})();

Отсутствует

 

№4921-09-2013 22:07:36

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 383
UA: Firefox 16.0
Веб-сайт

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

У меня есть ряд вопросов-предложений касательно СВ в контексте работы с закладками.
Заранее прошу прощения у асов - я дилетант и если некоторые мои предложения будут выглядеть бредовыми в их глазах - просьба быть снисходительными.

1. Возможно ли создание кнопки которая будет имитировать открытие какого-то фолдера из бара закладок? Если да, то такая кнопка по мощности будет в 3 раза сильнее.
Левым кликом можно будет открыть один фолдер, средним - второй, а правым - третий.
Учитывая дичайший дефицит места для кнопок - 3-х кратный выигрыш видится мне привлекательным.
Хочу подчеркнуть особо - речь не идёт о создании такой кнопки, речь идёт о принципиальной возможности создания. Почему - объясню далее.

2. Возможна ли работа кнопки не по кликам, а по фазам клика? Поясню подробнее, что я имею в виду.
Любой клик по факту состоит из 3-х фаз - нажатие, удержание и отпускание, где 2-я фаза просто нивелирована по времени.
Если бы была возможность работы по фазам клика, эффективность кнопок была бы увеличена ещё вдвое. Поясню - на примере.
По левому нажатию кнопки, имитирующей фолдер появлялось бы выпадающее меню-список закладок фолдера (и его подфолдеров).
Удерживая левую кнопку нажатой, можно было бы выбрать нужную закладку,  а отпускание кнопки - вызов этой закладки.
Хочу заметить, что если при нажатии кнопки выбирается заранее определённый элемент из этого списка (по умолчанию - первый), то такая кнопка сразу выполняет две функции - классический клик вызовет закладку, а удержание - позволит "путешествовать" по меню-списку - примерно так же, как стрелки вперёд-назад в навигации позволяют и перейти вперёд/назад и меню истории открыть.
Хочу подчеркнуть, что это была бы фундаментальная фича: список-действие (сейчас можно либо вызвать список, либо сделать действие). Работа с фазами клика повышает эффективность каждой кнопки в 6 раз (3-левый/средний/правый х 2-список/действие)

3. Возможна ли обработка двумерного списка?
Поясню, что я имею в виду.
На сегодня любое контекстное меню представляет собой одномерный список - каждый менюитем это строка этого меню (200-300 пикселей) и нажатие на любое место этой строки вызывает одно и то же действие, ассоциированное с этим менюитемом. На мой взгляд это - немного расточительно. Если бы нажатие на левую часть строки вызывало бы действие, несколько отличное от нажатия на правую часть - мы бы уже имели бы двукратный выигрыш. Например, открытие закладки в новой вкладке или в той же можно было бы выбирать. Учитывая, что строка довольно большая, если её расцветить в несколько цветов - мы бы имели существенно больше возможностей на каждый менюитем.
Вопрос - или это в принципе возможно. Если же это - бред, заранее извиняюсь :(

4. Возможно ли работать по сочетанию кнопок мышки?
Если да, то к трём вариантам (левое/среднее/правое нажатие) добавилось бы ещё 6: л-с, л-п, с-л, с-п, п-л, п-с и при этом на каждое такое сочетание имелось бы два активных действия, а не одно - одна такая суперкнопка была бы эквивалентна примерно 20-ти обычным.
---------------------------------
У меня есть ещё идеи, но я не хочу морочить вам голову. Если эти предложения выходят за рамки этой темы - тоже прошу прощения. Дайте мне знать - и я открою отдельную тему (если Вы посоветуете).


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№5023-09-2013 21:24:04

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

difabor пишет:

1. Возможно ли создание кнопки которая будет имитировать открытие какого-то фолдера из бара закладок?

Custom_Buttons/Bookmarks_Folder at master · Infocatcher/Custom_Buttons · GitHub

Добавлено 23-09-2013 21:32:53

difabor пишет:

2. Возможна ли работа кнопки не по кликам, а по фазам клика? Поясню подробнее, что я имею в виду.

Возможна конечно, я думаю с разным кликами + меню проблем нет. А вот как там открыть закладки не знаю, но думаю тоже возможно. Но лично мне такая кнопка субъективно не нравится.

Добавлено 23-09-2013 21:35:33

difabor пишет:

4. Возможно ли работать по сочетанию кнопок мышки?
Если да, то к трём вариантам (левое/среднее/правое нажатие) добавилось бы ещё 6: л-с, л-п, с-л, с-п, п-л, п-с и при этом на каждое такое сочетание имелось бы два активных действия, а не одно - одна такая суперкнопка была бы эквивалентна примерно 20-ти обычным.

Вот это как раз легче всего.

Добавлено 23-09-2013 21:39:35

difabor пишет:

3. Возможна ли обработка двумерного списка?
Учитывая, что строка довольно большая, если её расцветить в несколько цветов - мы бы имели существенно больше возможностей на каждый менюитем.

Обработка двумерного списка тоже возможна, насчёт расцветить не знаю.

Отредактировано bunda1 (23-09-2013 21:39:35)

Отсутствует

 
  • Форумы
  •  » Сustom Buttons
  •  » [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню

Board footer

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