Приветствую! Помогите решить пару задач...
1. Вместо стандартной сдвоенной кнопки закладок на панели нужна обычная (не сдвоенная) кнопка со следующим функционалом: ЛКМ - показать боковую панель закладок, СКМ - добавить текущую страницу в закладки с выбором папки, на ПКМ можно повесить обычное меню закладок (необязательно). Нашел вроде готовую кнопку, но немного с другим назначением кнопок, пытался поменять между собой действия СКМ и ЛКМ - умения не хватило, не очень силен я в этом...
2. Установил расширение Simple bookmarks menu: https://addons.mozilla.org/ru/firefox/addon/simple-bookmarks-menu/
и скрыл лишние пункты меню. Но ужасно бесит та самая родная сдвоенная кнопка... Можно ли так же убрать лишние пункты из самодельной нормальной кнопки "Закладки"?
3. Я открываю боковую панель закладок, раскрываю там какую-то папку, например, и закрываю панель. При следующем открытии панели та папка по прежнему раскрыта - можно ли сделать так, чтоб при повторном открытии панели все папки автоматически "сворачивались"?
4. Можно ли в боковую панель закладок "прикрутить" пункт меню "добавить текущую страницу в закладки"?
Отредактировано becool (19-09-2014 09:28:24)
Отсутствует
2. Но ужасно бесит та самая родная сдвоенная кнопка...
#bookmarks-menu-button dropmarker{display: none !important;}
1. СКМ - добавить текущую страницу в закладки с выбором папки
3. Можно ли в боковую панель закладок "прикрутить" пункт меню "добавить текущую страницу в закладки"?
Отсутствует
#bookmarks-menu-button dropmarker{display: none !important;}
Поймите новичка, второй день с файерфоксом... Что с этим делать?
Добавлено 19-09-2014 09:03:59
Add Bookmark Here ² :: Дополнения Firefox
Частично помогло. Меню в самой боковой панели не добавляется - добавился пункт только в меню при правом клике по папке.
Отредактировано becool (19-09-2014 09:03:59)
Отсутствует
посмотри примеры работы с мышью в этой теме
Спасибо! разобрался.
Добавлено 19-09-2014 09:27:48
userchrome.css
алсо usercontent.css Настройка внешнего вида Firefox
Разобрался. Да, теперь осталась только звездочка. Но теперь этой кнопкой никак не открыть меню закладок... В общем, в топку эту родную кнопку, уже сделал свою. Единственное что привлекало в родной кнопке:
Установил расширение Simple bookmarks menu: https://addons.mozilla.org/ru/firefox/addon/simple-bookmarks-menu/
и скрыл лишние пункты меню
Как можно скрыть лишние пункты в самодельной кнопке?
По третьему пункту в первом сообщении нет никакого решения?
Отредактировано becool (19-09-2014 09:27:48)
Отсутствует
По третьему пункту в первом сообщении нет никакого решения?
Попробуй добавить в свою кнопку
gBrowser.currentURI == "about:customizing" || (() => { const openLiteral = PlacesUIUtils.RDF.GetResource("http://home.netscape.com/NC-rdf#open"); const trueLiteral = PlacesUIUtils.RDF.GetLiteral("true"); addEventListener("DOMContentLoaded", e => { if (e.target.location != "chrome://browser/content/bookmarks/bookmarksPanel.xul") return; var en = PlacesUIUtils.localStore.GetAllResources(); while(en.hasMoreElements()) { var resource = en.getNext().QueryInterface(Ci.nsIRDFResource); resource.Value.startsWith("place:folder=") && PlacesUIUtils.localStore.Unassert(resource, openLiteral, trueLiteral); } }, false, document.getElementById("sidebar")); })();
gBrowser.currentURI == "about:customizing" || (() => { var func = PlacesTreeView.prototype.toggleOpenState; func = eval("(" + String.replace(func, /\s+if \(!this._c([\s\S]+)}\s+}/, "") + ")"); addEventListener("pageshow", e => { if (e.target.location != "chrome://browser/content/bookmarks/bookmarksPanel.xul") return; var view = e.target.getElementById("bookmarks-view").view; view.toggleOpenState = func.bind(view); }, false, document.getElementById("sidebar")); })();
Отредактировано Dumby (19-09-2014 19:50:25)
Отсутствует
Попробуй добавить в свою кнопку
Вот код моей кнопки:
/*Initialization Code*/ //Добавить в закладки текущую страницу function rbMouse(){ try {PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.bookmarksMenuFolderId); } catch(e) { addBookmarkAs(document.getElementById('content')); } }; //Скрыть/Показать панель закладок function lbMouse(){ toggleSidebar('viewBookmarksSidebar'); event. preventDefault (); event. stopPropagation (); } //Открыть менеджер закладок function mbMouse(){ try {PlacesCommandHook.showPlacesOrganizer('AllBookmarks'); } catch(e) {toOpenWindowByType('bookmarks:manager', 'chrome://browser/content/bookmarks/bookmarksManager.xul'); } }; //Открыть изначально const ptId = "PersonalToolbar"; var pt = document.getElementById(ptId); var pt_hideAttr = pt.getAttribute("type") == "menubar" ? "autohide" : "collapsed"; pt.setAttribute(pt_hideAttr, "false"); document.persist(ptId, pt_hideAttr); this.tooltipText = "Left => Показать/скрыть боковую панель \nMiddle => Открыть менеджер закладок \nRight => Добавить в закладки"; this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ lbMouse(); } else if(event.button == 1) { // Действие при клике СКМ mbMouse(); } else if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Действие при клике ПКМ без модификаторов rbMouse(); } }; this.oncontextmenu = function(event) { if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Блокируем контекстное меню при клике ПКМ без модификаторов event.preventDefault(); event.stopPropagation(); } };
второй день с файерфоксом...
Еще вопрос по кнопке: вроде из-за нее теперь при каждом запуске браузера активна верхняя панель закладок - как это поправить?
Upd: удалил это
"//Открыть изначально
const ptId = "PersonalToolbar";
var pt = document.getElementById(ptId);
var pt_hideAttr = pt.getAttribute("type") == "menubar" ? "autohide" : "collapsed";
pt.setAttribute(pt_hideAttr, "false");
document.persist(ptId, pt_hideAttr);"
вроде помогло, правильно сделал?
Отредактировано becool (19-09-2014 18:57:13)
Отсутствует
Но ужасно бесит та самая родная сдвоенная кнопка...
#bookmarks-menu-button dropmarker{display: none !important;}
Большое спасибо!
!important в конец добавлять не обязательно.
Отсутствует
Куда добавить?
Безотносительно меня
Вот, допустим, у тебя есть кнопка, а у кнопки во вкладке Инициализация есть текст (JavaScript-код).
К этому тексту можно добавить в его (текста) начало или в его (текста) конец
некий другой предложенный текст (JavaScript-код).
Предложено два варианта кода.
Попробуй сначала второй вариант,
сделав в точности то, что есть в описании.
Попереключай боковую панель.
Если не работает, то удали из кнопки код второго варианта и перезапусти браузер.
И попробуй первый вариант.
Попереключай боковую панель.
Если и это не работает, то удали из кнопки код первого варианта и перезапусти браузер.
И, если после этого всего будешь не очень зол, то напиши
что-то типа «Спасибо, попробовал, но не работает»,
далее (желательно) описание, цитаты из Консоли Ошибок, скриншоты, и.т.д.
P.S. Вопросы по «кнопочным» делам лучше отгружать сюда.
Отредактировано Dumby (19-09-2014 19:23:04)
Отсутствует