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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№118-09-2014 22:42:28

becool
Участник
 
Группа: Members
Зарегистрирован: 30-08-2014
Сообщений: 268
UA: Firefox 32.0

Апгрейд боковой панели закладок

Приветствую! Помогите решить пару задач...
1. Вместо стандартной сдвоенной кнопки закладок на панели нужна обычная (не сдвоенная) кнопка со следующим функционалом: ЛКМ - показать боковую панель закладок, СКМ - добавить текущую страницу в закладки с выбором папки, на ПКМ можно повесить обычное меню закладок (необязательно). Нашел вроде готовую кнопку, но немного с другим назначением кнопок, пытался поменять между собой действия СКМ и ЛКМ - умения не хватило, не очень силен я в этом...
2. Установил расширение Simple bookmarks menu: https://addons.mozilla.org/ru/firefox/addon/simple-bookmarks-menu/
и скрыл лишние пункты меню. Но ужасно бесит та самая родная сдвоенная кнопка... Можно ли так же убрать лишние пункты из самодельной нормальной кнопки "Закладки"?
3. Я открываю боковую панель закладок, раскрываю там какую-то папку, например, и закрываю панель. При следующем открытии панели та папка по прежнему раскрыта - можно ли сделать так, чтоб при повторном открытии панели все папки автоматически "сворачивались"?
4. Можно ли в боковую панель закладок "прикрутить" пункт меню "добавить текущую страницу в закладки"?

Отредактировано becool (19-09-2014 09:28:24)

Отсутствует

 

№219-09-2014 00:45:58

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 35.0

Re: Апгрейд боковой панели закладок

becool пишет

2. Но ужасно бесит та самая родная сдвоенная кнопка...

#bookmarks-menu-button dropmarker{display: none !important;}

becool пишет

1. СКМ - добавить текущую страницу в закладки с выбором папки
3. Можно ли в боковую панель закладок "прикрутить" пункт меню "добавить текущую страницу в закладки"?

Add Bookmark Here ² :: Дополнения Firefox

Отсутствует

 

№319-09-2014 08:56:44

becool
Участник
 
Группа: Members
Зарегистрирован: 30-08-2014
Сообщений: 268
UA: Firefox 32.0

Re: Апгрейд боковой панели закладок

voqabuhe пишет

#bookmarks-menu-button dropmarker{display: none !important;}

Поймите новичка, второй день с файерфоксом... :) Что с этим делать?

Добавлено 19-09-2014 09:03:59

voqabuhe пишет

Add Bookmark Here ² :: Дополнения Firefox

Частично помогло. Меню в самой боковой панели не добавляется - добавился пункт только в меню при правом клике по папке.

Отредактировано becool (19-09-2014 09:03:59)

Отсутствует

 

№419-09-2014 09:20:04

becool
Участник
 
Группа: Members
Зарегистрирован: 30-08-2014
Сообщений: 268
UA: Firefox 32.0

Re: Апгрейд боковой панели закладок

okkamas_knife пишет

посмотри примеры работы с мышью в этой теме

Спасибо! разобрался.

Добавлено 19-09-2014 09:27:48

okkamas_knife пишет

userchrome.css
алсо usercontent.css Настройка внешнего вида Firefox

Разобрался. Да, теперь осталась только звездочка. Но теперь этой кнопкой никак не открыть меню закладок... :) В общем, в топку эту родную кнопку, уже сделал свою. Единственное что привлекало в родной кнопке:

becool пишет

Установил расширение Simple bookmarks menu: https://addons.mozilla.org/ru/firefox/addon/simple-bookmarks-menu/
и скрыл лишние пункты меню

Как можно скрыть лишние пункты в самодельной кнопке?

По третьему пункту в первом сообщении нет никакого решения?

Отредактировано becool (19-09-2014 09:27:48)

Отсутствует

 

№519-09-2014 11:58:57

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2283
UA: Firefox 17.0

Re: Апгрейд боковой панели закладок

becool пишет

По третьему пункту в первом сообщении нет никакого решения?

Попробуй добавить в свою кнопку

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

Выделить код

Код:

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)

Отсутствует

 

№619-09-2014 17:16:37

becool
Участник
 
Группа: Members
Зарегистрирован: 30-08-2014
Сообщений: 268
UA: Firefox 32.0

Re: Апгрейд боковой панели закладок

Dumby пишет

Попробуй добавить в свою кнопку

Вот код моей кнопки:

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

Выделить код

Код:

/*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();
    }
};


Куда добавить?

becool пишет

второй день с файерфоксом... :)

Еще вопрос по кнопке: вроде из-за нее теперь при каждом запуске браузера активна верхняя панель закладок - как это поправить?
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)

Отсутствует

 

№719-09-2014 18:13:23

FireForce
Участник
 
Группа: Members
Зарегистрирован: 18-01-2010
Сообщений: 463
UA: Firefox 32.0

Re: Апгрейд боковой панели закладок

becool пишет

Но ужасно бесит та самая родная сдвоенная кнопка...

voqabuhe пишет

#bookmarks-menu-button dropmarker{display: none !important;}

Большое спасибо!

!important в конец добавлять не обязательно.

Отсутствует

 

№819-09-2014 19:03:07

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2283
UA: Firefox 17.0

Re: Апгрейд боковой панели закладок

becool пишет

Куда добавить?

Безотносительно меня

скрытый текст
Под «добавить», в данном случае, подразумевается следующее:

Вот, допустим, у тебя есть кнопка, а у кнопки во вкладке Инициализация есть текст (JavaScript-код).
К этому тексту можно добавить в его (текста) начало или в его (текста) конец
некий другой предложенный текст (JavaScript-код).


Предложено два варианта кода.

Попробуй сначала второй вариант,
сделав в точности то, что есть в описании.
Попереключай боковую панель.

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

Если и это не работает, то удали из кнопки код первого варианта и перезапусти браузер.
И, если после этого всего будешь не очень зол, то напиши
что-то типа «Спасибо, попробовал, но не работает»,
далее (желательно) описание, цитаты из Консоли Ошибок, скриншоты, и.т.д.

P.S. Вопросы по «кнопочным» делам лучше отгружать сюда.

Отредактировано Dumby (19-09-2014 19:23:04)

Отсутствует

 

№919-09-2014 19:19:09

becool
Участник
 
Группа: Members
Зарегистрирован: 30-08-2014
Сообщений: 268
UA: Firefox 32.0

Re: Апгрейд боковой панели закладок

Dumby, второй вариант работает, благодарствую!

Отсутствует

 

Board footer

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