Ув.разработчики подскажите пожалуйста код для закрытия вкладки по двойному клику правой кнопкой в любом месте на открытой странице.
В инициализацию:
addEventListener("dblclick", e=> e.button > 1 && gBrowser.removeCurrentTab(), false, gBrowser);
Отсутствует
Наверно можно и не сложно, но я не знаю что за функция Firefox добаляет закладки через звёздочку
Жаль
Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!
Отсутствует
Stakhovsky пишетУв.разработчики подскажите пожалуйста код для закрытия вкладки по двойному клику правой кнопкой в любом месте на открытой странице.
В инициализацию:
Выделить кодКод:
addEventListener("dblclick", e=> e.button > 1 && gBrowser.removeCurrentTab(), false, gBrowser);
bunda1, после закрытия вкладки, на следующей остается открытым контекстное меню, можно ли это поправить?
Отсутствует
bunda1, после закрытия вкладки, на следующей остается открытым контекстное меню, можно ли это поправить?
addEventListener("dblclick", e=> { e.button > 1 && gBrowser.removeCurrentTab(); setTimeout(()=> document.getElementById("contentAreaContextMenu").hidePopup(), 20); }, false, gBrowser);
Добавлено 03-03-2016 08:27:29
bunda1 пишетя не знаю что за функция Firefox добаляет закладки через звёздочку
BookmarkingUI.onCommand
Dumby, насчёт BookmarkingUI.onComman я конешно был курсе, но эта команда запускает PlacesCommandHook.bookmarkCurrentPage а та PlacesCommandHook.bookmarkPage а та:
function () { "use strict"; let result = aTask; if (aTask && typeof(aTask) == "function") { if (aTask.isAsyncFunction) { throw new TypeError( "Cannot use an async function in place of a promise. " + "You should either invoke the async function first " + "or use 'Task.spawn' instead of 'Task.async' to start " + "the Task and return its promise."); } try { // Let's call into the function ourselves. result = aTask.apply(this, arguments); } catch (ex) { if (ex instanceof Task.Result) { return Promise.resolve(ex.value); } return Promise.reject(ex); } } if (isGenerator(result)) { // This is an iterator resulting from calling a generator function. return new TaskImpl(result).deferred.promise; } // Just propagate the given value to the caller as a resolved promise. return Promise.resolve(result);
А с этим кодом я уже не знаю что делать, не понятно как он добавляет закладку.
Отредактировано bunda1 (03-03-2016 08:27:29)
Отсутствует
Dumby, насчёт BookmarkingUI.onComman я конешно был курсе, но ...
Ну, вот так бы сразу и сказал.
Но, если интересно, то открой
chrome://browser/content/browser.js
поиск:
var PlacesCommandHook = {
Я, кстати, не смог понять что хочет Кот.
Как думаешь, это что-то типа такого (набросок), или нет?
(({panel}, prefName) => { cbu.isPref(prefName, PlacesUtils.unfiledBookmarksFolderId); addDestructor(reason => reason == "delete" && Services.prefs.clearUserPref(prefName)); var popupshownFolderId = Services.prefs.getIntPref(prefName); var handler = e => { if (e.target != panel) return; var id = PlacesUtils.bookmarks.getFolderIdForItem(StarUI._itemId); if (e.type == "popupshown") { popupshownFolderId = id; return; } if (StarUI._actionOnHide || popupshownFolderId == id) return; Services.prefs.setIntPref(prefName, id); } for(var type of ["popupshown", "popuphiding"]) addEventListener(type, handler, false, panel); var src = BookmarkingUI.onCommand.toString(); var res = src.replace("e(isBookmarked", `$&, isBookmarked || Services.prefs.getIntPref("${prefName}")`); var func = eval(`(${res})`).bind(BookmarkingUI); addEventListener("command", e => { e.stopPropagation(); func(e); }, true, document.getElementById("bookmarks-menu-button")); })(StarUI, "CB.lastEditBookmarkPanelFolderId");
Отсутствует
Я, кстати, не смог понять что хочет Кот.
Красивый код. Мне показалось, что Кот пишет про папку закладок в которую добавляли закладки не только нажатием звёздочки. Ну ладно там видно будет.
Отсутствует
сделать добавление закладки через звёздочку в последнюю выбранную папку
По умолчанию добавляет в неподшитые, а я хочу в ту которую выбирал в прошлый раз. Не знаю как ещё проще объяснить.
Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!
Отсутствует
Я, кстати, не смог понять что хочет Кот.
Как я понял, он хочет чтобы было как в Add Bookmark Here²
Remember the last selected folder when you bookmark a page.
KOT040188, так?
Отредактировано voqabuhe (03-03-2016 15:55:03)
Отсутствует
По умолчанию добавляет в неподшитые, а я хочу в ту которую выбирал в прошлый раз.
Попробуй:
(({panel}, prefName) => { cbu.isPref(prefName, PlacesUtils.unfiledBookmarksFolderId); addDestructor(reason => reason == "delete" && Services.prefs.clearUserPref(prefName)); var popupshownFolderId = Services.prefs.getIntPref(prefName); var handler = e => { if (e.target != panel) return; var id = PlacesUtils.bookmarks.getFolderIdForItem(StarUI._itemId); if (e.type == "popupshown") { popupshownFolderId = id; return; } if (StarUI._actionOnHide || popupshownFolderId == id) return; Services.prefs.setIntPref(prefName, id); } for(var type of ["popupshown", "popuphiding"]) addEventListener(type, handler, false, panel); var src = BookmarkingUI.onCommand.toString(); var res = src.replace("e(isBookmarked", `$&, isBookmarked || Services.prefs.getIntPref("${prefName}")`); var func = eval(`(${res})`).bind(BookmarkingUI); addEventListener("command", e => { e.stopPropagation(); func(e); }, true, document.getElementById("bookmarks-menu-button")); })(StarUI, "CB.lastEditBookmarkPanelFolderId");
Отсутствует
Попробуй:
Спасибо, работает. И выбор папки развёрнут. Бонусом ещё и меню выскакивает после первого нажатия. Может так и лучше…
Отредактировано KOT040188 (03-03-2016 21:44:01)
Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!
Отсутствует
В не работает.
Может
//var res = src.replace("e(isBookmarked", `$&, isBookmarked || Services.prefs.getIntPref("${prefName}")`); var showPopup = true; var res = src.replace("true", `${showPopup || "isBookmarked"}, isBookmarked ? undefined : Services.prefs.getIntPref("${prefName}")`);
Отсутствует
в Nightly он переехал в
chrome://browser/content/browser-places.js
..в 45b9 уже там обнаружил.
Отсутствует
Я тебе насоветовал искать PlacesCommandHook в
chrome://browser/content/browser.js
а в Nightly он переехал в
chrome://browser/content/browser-places.js
Спасибо
Отсутствует
Может
Спасибо, теперь работает. Только почему-то вот такого у меня нет?
И выбор папки развёрнут.
bunda1
А на жест этот код можно прикрутить? И ещё, как сделать что бы закладки добавлялись вверх списка?
Отсутствует
voqabuhe
Я извинясь, ввёл всех в заблуждение. Нажал отключить расширение Add Bookmark Here, а он гад не отключился при перезапуске, может потому, что обновлялся при этом. Я ещё удивился какой bunda1 похожий на расширение код написал Меню этот код не разворачивает, тут поведение стандартное. Посмотрю, будет ли удобно…
Для развёрнутой папки этот код:
addEventListener("popupshown", ()=> { document.getElementById('editBMPanel_foldersExpander').click(); }, true, document.getElementById("editBookmarkPanel"));
Отредактировано KOT040188 (04-03-2016 15:46:13)
Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!
Отсутствует
Для развёрнутой папки этот код:
Ага так разворачиваются, спасибо. В Add Bookmark Here ещё очень полезная штука есть, изменять размер окна выбора папок, растягиванием мышкой. Глянь может и этот код вытащишь.
Отсутствует