>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >[CB]Удалить закладку средним кликом на закладке http://forum.mozilla-russia.org/viewtopic.php?id=56608 |
bunda1 > 07-10-2012 20:30:33 |
Удалить закладку средним кликом на закладке(Firefox 10 +) Выделить код Код:// Удалить закладку средним кликом на закладке ............................................................. window.addEventListener("mouseup", function(aEvent) { var target = aEvent.originalTarget; if ( aEvent.button !== 1) return; if ( target.localName!="menuitem" || !(target._placesNode && PlacesUtils.nodeIsURI(target._placesNode) ) ) return; aEvent.preventDefault(); aEvent.stopPropagation(); var itemId = target._placesNode.itemId; //custombuttons.alertSlide("Удалил закладку", PlacesUtils.bookmarks.getItemTitle(itemId) ); PlacesUtils.bookmarks.removeItem(itemId); }, false); |
LongLogin > 08-10-2012 02:32:44 |
прикольная кнопка, но по-моему раньше bunda1 хотел повесить на ПКМ iDev.Pi пишет
|
bunda1 > 08-10-2012 08:11:09 |
iDev.Pi пишет
Попробую. |
voqabuhe > 08-10-2012 10:45:11 |
bunda1 пишет
А как ты тогда открываешь закладки в новой вкладке, если СКМ занят? |
iDev.Pi > 08-10-2012 13:04:20 |
LongLogin 08-10-2012 13:05:49 bunda1 пишет
Не стоит, Stay-Open Menu, который тут посоветовали - меня устроит. |
bunda1 > 08-10-2012 18:18:17 |
voqabuhe пишет
У меня по ЛКМ открываютса Открыть в новой вкладке(Firefox 3.6 + ) 08-10-2012 18:19:35 LongLogin пишет
Да хотел, но так проще. 08-10-2012 18:20:31 iDev.Pi пишет
Уже поздно. |
fish08 > 17-10-2012 16:00:50 |
а можно чтобы удаление происходило при нажатии ctrl+СКМ ? Или лучше просто клавишей Delete. |
bunda1 > 17-10-2012 21:33:16 |
Удалить закладку => Ctrl + средний клик на закладке(Firefox 10 +) Если хотите удалять закладки левым кликом в коде надо поменять: Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую. Выделить код Код:// Удалить закладку ctrl + средний клик на закладке ............................................................. window.addEventListener("mouseup", function(aEvent) { var target = aEvent.originalTarget; if ( aEvent.ctrlKey && !aEvent.shiftKey && !aEvent.altKey && !aEvent.metaKey && aEvent.button == 1 ) { if ( target.localName !== "menuitem" || !(target._placesNode && PlacesUtils.nodeIsURI(target._placesNode) ) ) return; aEvent.preventDefault(); aEvent.stopPropagation(); var itemId = target._placesNode.itemId; PlacesUtils.bookmarks.removeItem(itemId); } }, false); |
voqabuhe > 18-10-2012 15:24:17 |
bunda1 пишет
При таком раскладе конфликтует с [CB]Открывать закладки левым кликом в новой вкладке не закрывая меню и удаляет, и открывает одновременно. |
LongLogin > 18-10-2012 15:38:52 |
была же идея удалять двойным правым кликом когда-то, но почему-то bunda1 свернул на кривую дорожку |
voqabuhe > 18-10-2012 16:37:52 |
LongLogin пишет
Всё bunda1 правильно делает, ты сначала с кнопками ознакомься, а потом встревай. |
Dumby > 18-10-2012 17:20:45 |
bunda1 пишет
и bunda1 пишет
Вопрос: нет ли тут противоречия ? ( вопрос не риторический - хочу знать ) |
bunda1 > 18-10-2012 19:01:33 |
LongLogin пишет
Нифига, я твёрдо стою на пути исправления, просто двойным правым кликом не получается. Dumby пишет
я не понял вопрос но противоречия не вижу. |
Dumby > 18-10-2012 19:50:17 |
bunda1 OK, попробую объяснить как я проверял Сделал кнопку, положил этот код в инициализацию, Изменяю aEvent.button == 1 на aEvent.button == 0. Далее изменяю false/true + restart и жму Attributes Inspector, тогда если true - закладка удаляется, DOM Inspector не открывается, если false - DOM Inspector открывается, закладка не удаляется. Видимо есть разница, посмотри параметр useCapture. А может быть померещилось, что думаешь ? |
Infocatcher > 18-10-2012 21:42:46 |
Dumby пишет
Ну правильно, Attributes Inspector ждет, когда будет click, а закладка исчезает уже на mousedown. , еще и Выделить код Код:if("defaultPrevented" in e ? e.defaultPrevented : e.getPreventDefault()) _log('Warning! Default action for "' + e.type + '" event is already cancelled!'); , скорее всего, вылезет. |
Dumby > 19-10-2012 00:13:28 |
Infocatcher Если ты подумал, что я в своём сообщении писал что-то именно про Attributes Inspector, |
Infocatcher > 19-10-2012 10:55:29 |
Dumby пишет
Не должен. Действие по умолчанию можно отменять когда угодно, разница только в том, что чем раньше отменишь, тем больше скриптов смогут на это как-то отреагировать (если до них вообще это событие дойдет). |
vom > 21-02-2013 17:23:51 |
Поставил удаление на ПКМ, но всплывает стандартное меню в добавок, можно ли его заблокировать? |
bunda1 > 21-02-2013 19:34:28 |
Удалить закладку двойным правым кликом на закладке( Firefox 10 + ) Выделить код Код:// Удалить закладку двойным правым кликом на закладке, от 13.10.2014. .............. function removeBookmark(e) { var target = e.target; if ( target._placesNode && target._placesNode.type ) return; if ( removeBookmark.open ) { e.preventDefault(); try { PlacesUtils.bookmarks.removeItem( target._placesNode.itemId ) } catch(e) {}; } removeBookmark.open = true; setTimeout(function() removeBookmark.open = false, 600 ); }; addEventListener("mouseup", removeBookmark ); |
vom > 25-02-2013 14:00:32 |
Спасибо за кнопку, очень удобно получилось на одинарный ПКМ, а убрать всплывающее контекстное меню можно так: #placesContext |
voqabuhe > 08-10-2014 11:04:37 |
bunda1 пишет
В после удаления закладки и последующем перемещение курсора на соседние закладки меню закрывается. Поправь, плиз. |
bunda1 > 08-10-2014 13:22:25 |
voqabuhe пишет
Вроде исправил: Удалить закладку двойным правым кликом на закладке |
voqabuhe > 08-10-2014 14:33:44 |
bunda1 пишет
У меня всё равно закрывается. |
bunda1 > 08-10-2014 15:26:07 |
Это как по умолчанию закрывается или как то иначе. |
voqabuhe > 08-10-2014 16:08:36 |
bunda1 |
bunda1 > 08-10-2014 18:43:42 |
Я сейчас проверил на последнем и вроде без проблем. |
voqabuhe > 08-10-2014 22:35:27 |
bunda1 |
voqabuhe > 13-10-2014 13:09:07 |
bunda1 |
bunda1 > 13-10-2014 15:40:23 |
voqabuhe пишет
|
voqabuhe > 13-10-2014 16:24:36 |
bunda1 пишет
Спасибо. |
oleg.sgh > 29-02-2016 09:19:11 |
А можно так? |
Stkvsky > 15-05-2016 18:54:34 |
bunda1, вы бы не могли пожалуйста сделать, что бы долгим правым кликом по закладке она открывалась и удалялась из закладок. |
bunda1 > 16-05-2016 20:50:05 |
Stakhovsky пишет
Выделить код Код:// Длинным правым кликом открывать и удалять закладки, от 16.05.2016. .................. (()=> { function handleEvent(e) { var target = e.originalTarget; try { var sidebar = target.ownerDocument.defaultView.top !== content && target.id == 'bookmarks-view-children'; } catch(e) { return; }; if ( (!sidebar && !target._placesNode) || e.button !== 2 ) return; if ( sidebar ) { var tree = target.parentNode; var box = tree.treeBoxObject; var row = box.getRowAt(e.clientX, e.clientY); var node = tree.view.nodeForTreeIndex(row); } var node = sidebar ? node : target._placesNode, id = node.itemId, uri = node.uri, type = e.type; if ( PlacesUtils.nodeIsContainer(node) ) return; window.clearTimeout(handleEvent.timer); if ( type == 'mousedown' ) { handleEvent.flag = false; handleEvent.timer = setTimeout(()=> { handleEvent.flag = true; gBrowser.loadOneTab(uri, {relatedToCurrent:true, inBackground:false, referrerURI:null}); var menu = target.parentNode; if ( !menu || menu.localName !== 'menupopup' ) return; for ( var node = menu; node; node = node.parentNode ) node.nodeName == 'menupopup' && node.hidePopup(); }, 450); } if ( type == 'click' && handleEvent.flag ) { e.preventDefault(); e.stopPropagation(); setTimeout(()=> PlacesUtils.bookmarks.removeItem(id), 500); } }; ["click", "mousedown"].forEach(type=> addEventListener(type, handleEvent, true) ); })(); В боковой панели закладок тоже работает. |
Stkvsky > 16-05-2016 21:12:57 |
bunda1 |
Stkvsky > 16-05-2016 21:54:03 |
Проверил еще на palemoon 25, то же самое. |
bunda1 > 16-05-2016 21:57:24 |
Stakhovsky пишет
|
Stkvsky > 16-05-2016 22:06:27 |
bunda1 |
bunda1 > 16-05-2016 22:11:21 |
Stakhovsky пишет
|
Stkvsky > 16-05-2016 22:22:25 |
bunda1 |
Stkvsky > 19-05-2016 10:47:46 |
bunda1, а вы бы не могли еще если можно, пожалуйста, добавить эту же функцию только сразу для всех закладок в папке? Например таким же длинным пкм по папке. или добавить пункт в низу списка закладок. |