Мне нужно вот так:
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 проверь пожалуйста верна ли редакция кода под себя
Нормально все
Добавлено 07-03-2013 00:02:29
bunda1 а что поводу открытия одинаковых ссылок из закладок? нашли ошибку?
Нет, и у меня открывается только одна ссылка. В коде есть проблема с авто закрытием которую я пока не решил.
Отредактировано bunda1 (07-03-2013 00:02:29)
Отсутствует
у меня тоже на 20м открывается по 3-7 вкладок
Проблема наблюдается сразу после запуска браузера ?
Используешь расширения для работы с закладками ?
В кнопке с кодом [CB]Открывать закладки левым кликом... есть другие коды ?
Отсутствует
у меня тоже на 20м открывается по 3-7 вкладок
А версия CustomButtons какая? У меня такое было со старой. Нужно поставить самую последнюю dev-версию отсюда, например: custombuttons-0.0.5.6pre5-20130226
На версиях 20 - 23 кнопка нормально работает.
pcxFirefox - лучшая сборка Лисы!
Отсутствует
adidharma, пасибки, эта работает. хотя предыдущую скачала с другого места с точно таким названием.
А что можно поправить в коде что б меню закладок сразу закрывалось после клика без увода курсора?
Отсутствует
закрывалось после клика без увода курсора?
http://forum.mozilla-russia.org/viewtopic.php?pid=575006#p575006
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
А что можно поправить в коде что б меню закладок сразу закрывалось после клика без увода курсора?
Такое уже есть в FF или я что то не понял
Отсутствует
bunda1
А к этому коду http://forum.mozilla-russia.org/viewtopic.php?pid=575006#p575006
нельзя прикрутить меню закладок, мне нужно что бы просто открывалось в новой активной вкладке по левому клику и всё. Или код какой другой,чтобы открывалось в активной и меню при клике пряталось.
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
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 );
Отсутствует
bunda1
Открывает в новой активной нормально, я наверно не совсем точно выразился "и меню при клике пряталось." имелось ввиду при клике по закладке как обычно, а не при клике по странице, мне задержка меню не нужна, у меня там такие портянки с подменю на весь экран что сразу и страницы не видно, а так сразу меню пряталось бы.
Отредактировано villa7 (17-07-2013 20:44:51)
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
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 );
Отсутствует
решил приспособить этот код под среднюю кнопку мыши.
В итоге открываются две одинаковые вкладки. Получается, что e.preventDefault(); e.stopPropagation(); не срабатывают в данной ситуации?
Отсутствует
решил приспособить этот код под среднюю кнопку мыши.
В итоге открываются две одинаковые вкладки. Получается, что 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)
Отсутствует
то есть если произошло событие click
наверное и внутри условия нужно поменять на type == 'click' ?
иначе все равно две вкладки открывает...
а как можно вставить проверку загружаемой вкладки? иначе открывает в ней...
Отсутствует
наверное и внутри условия нужно поменять на type == 'click' ?
а как можно вставить проверку загружаемой вкладки? иначе открывает в ней...
Точно, а что за проверка ?
Отсутствует
а что за проверка ?
например:
- жму скм по первой закладке, она начинает медленно загружаться
- сразу еще раз жму скм по другой и она начинает открываться не в новой вкладке, а в текущей
нужно еще добавить проверку: если текущая вкладка занята загрузкой, то открывать в новой
Отсутствует
нужно еще добавить проверку: если текущая вкладка занята загрузкой, то открывать в новой
Вот, кстати, пример: https://forum.mozilla-russia.org/viewto … 33#p621233
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Открывать закладки средним кликом в новой вкладке не закрывая меню закладок ( 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); })();
Отсутствует
У меня есть ряд вопросов-предложений касательно СВ в контексте работы с закладками.
Заранее прошу прощения у асов - я дилетант и если некоторые мои предложения будут выглядеть бредовыми в их глазах - просьба быть снисходительными.
1. Возможно ли создание кнопки которая будет имитировать открытие какого-то фолдера из бара закладок? Если да, то такая кнопка по мощности будет в 3 раза сильнее.
Левым кликом можно будет открыть один фолдер, средним - второй, а правым - третий.
Учитывая дичайший дефицит места для кнопок - 3-х кратный выигрыш видится мне привлекательным.
Хочу подчеркнуть особо - речь не идёт о создании такой кнопки, речь идёт о принципиальной возможности создания. Почему - объясню далее.
2. Возможна ли работа кнопки не по кликам, а по фазам клика? Поясню подробнее, что я имею в виду.
Любой клик по факту состоит из 3-х фаз - нажатие, удержание и отпускание, где 2-я фаза просто нивелирована по времени.
Если бы была возможность работы по фазам клика, эффективность кнопок была бы увеличена ещё вдвое. Поясню - на примере.
По левому нажатию кнопки, имитирующей фолдер появлялось бы выпадающее меню-список закладок фолдера (и его подфолдеров).
Удерживая левую кнопку нажатой, можно было бы выбрать нужную закладку, а отпускание кнопки - вызов этой закладки.
Хочу заметить, что если при нажатии кнопки выбирается заранее определённый элемент из этого списка (по умолчанию - первый), то такая кнопка сразу выполняет две функции - классический клик вызовет закладку, а удержание - позволит "путешествовать" по меню-списку - примерно так же, как стрелки вперёд-назад в навигации позволяют и перейти вперёд/назад и меню истории открыть.
Хочу подчеркнуть, что это была бы фундаментальная фича: список-действие (сейчас можно либо вызвать список, либо сделать действие). Работа с фазами клика повышает эффективность каждой кнопки в 6 раз (3-левый/средний/правый х 2-список/действие)
3. Возможна ли обработка двумерного списка?
Поясню, что я имею в виду.
На сегодня любое контекстное меню представляет собой одномерный список - каждый менюитем это строка этого меню (200-300 пикселей) и нажатие на любое место этой строки вызывает одно и то же действие, ассоциированное с этим менюитемом. На мой взгляд это - немного расточительно. Если бы нажатие на левую часть строки вызывало бы действие, несколько отличное от нажатия на правую часть - мы бы уже имели бы двукратный выигрыш. Например, открытие закладки в новой вкладке или в той же можно было бы выбирать. Учитывая, что строка довольно большая, если её расцветить в несколько цветов - мы бы имели существенно больше возможностей на каждый менюитем.
Вопрос - или это в принципе возможно. Если же это - бред, заранее извиняюсь
4. Возможно ли работать по сочетанию кнопок мышки?
Если да, то к трём вариантам (левое/среднее/правое нажатие) добавилось бы ещё 6: л-с, л-п, с-л, с-п, п-л, п-с и при этом на каждое такое сочетание имелось бы два активных действия, а не одно - одна такая суперкнопка была бы эквивалентна примерно 20-ти обычным.
---------------------------------
У меня есть ещё идеи, но я не хочу морочить вам голову. Если эти предложения выходят за рамки этой темы - тоже прошу прощения. Дайте мне знать - и я открою отдельную тему (если Вы посоветуете).
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
1. Возможно ли создание кнопки которая будет имитировать открытие какого-то фолдера из бара закладок?
Custom_Buttons/Bookmarks_Folder at master · Infocatcher/Custom_Buttons · GitHub
Добавлено 23-09-2013 21:32:53
2. Возможна ли работа кнопки не по кликам, а по фазам клика? Поясню подробнее, что я имею в виду.
Возможна конечно, я думаю с разным кликами + меню проблем нет. А вот как там открыть закладки не знаю, но думаю тоже возможно. Но лично мне такая кнопка субъективно не нравится.
Добавлено 23-09-2013 21:35:33
4. Возможно ли работать по сочетанию кнопок мышки?
Если да, то к трём вариантам (левое/среднее/правое нажатие) добавилось бы ещё 6: л-с, л-п, с-л, с-п, п-л, п-с и при этом на каждое такое сочетание имелось бы два активных действия, а не одно - одна такая суперкнопка была бы эквивалентна примерно 20-ти обычным.
Вот это как раз легче всего.
Добавлено 23-09-2013 21:39:35
3. Возможна ли обработка двумерного списка?
Учитывая, что строка довольно большая, если её расцветить в несколько цветов - мы бы имели существенно больше возможностей на каждый менюитем.
Обработка двумерного списка тоже возможна, насчёт расцветить не знаю.
Отредактировано bunda1 (23-09-2013 21:39:35)
Отсутствует