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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№232627-01-2011 18:56:15

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Custom Buttons

iDev.Pi пишет
Anton пишет

iDev.Pi

iDev.Pi пишет

А как насчёт того, чтобы сделать удобную интеграцию с новым менеджером дополнений?
Вот стайлиш и скриптиш (ну или гризманки) - оба этих дополнения интегрировались в новый АОМ и теперь управлять стилями и скриптами можно из одного места, что удобно.
Может возможно сделать такое и для КБ?

Возможно, но не во всех поддерживаемых CB приложениях новый менеджер дополнений, а делать две разные ветки кода мне бы не хотелось.

А нельзя как-то в 1 дополнении объединить оба варианта, чтобы в зависимости от приложения - использовался бы либо старый способ, либо подцеплялся новый АОМ?

Я как раз и говорил о двух ветках кода в одном дополнении.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№232727-01-2011 19:02:59

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 4.0

Re: Custom Buttons

Anton
а чем это плохо, кроме незначительного утяжеления по весу?

Добавлено 27-01-2011 19:04:12

Infocatcher пишет
iDev.Pi пишет

хочу заголовок страницы поместить на меню-панель

В инициализацию:

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

Выделить код

Код:

this.__defineSetter__("title", function(val) {
    if(val == this.__savedTitle)
        return;
    this.__savedTitle = val;
    this.setAttribute("label", val);
    this.tooltipText = val;
});

var titleUpdater = {
    button: this,
    handleEvent: function(e) {
        if(e.attrName != "title" || e.originalTarget != document.documentElement)
            return;
        this.button.title = e.newValue;
        //setTimeout(function() { throw new Error(">> " + e.newValue); }, 0);
    }
};
document.documentElement.addEventListener("DOMAttrModified", titleUpdater, true);
this.__savedTitle = this.title = document.title;


var sId = "__customButtonsStyle__" + this.id; // Unique style "id"
var cssStr = <><![CDATA[
    %button% {
        color: windowText !important;
        text-shadow: window 2px -2px 4px, window -2px 2px 4px, window -2px -4px 4px, window 2px 4px 4px !important;
        -moz-box-align: start !important;

        background: transparent !important;
        -moz-box-shadow: none !important;
        -moz-appearance: none !important;
        border: none !important;
        /* width: auto !important; */
        width: 350px !important;
    }
    %button% > image {
        display: none !important;
    }
    %button% > label {
        display: -moz-box !important;
    }
    ]]></>.toString()
    .replace(/%button%/g, "#" + this.id);

function sheet(cssStr, removeFlag) {
    var cc = Components.classes;
    var sss = cc["@mozilla.org/content/style-sheet-service;1"]
        .getService(Components.interfaces.nsIStyleSheetService);
    var ios = cc["@mozilla.org/network/io-service;1"]
        .getService(Components.interfaces.nsIIOService);
    var data = "data:text/css," + encodeURIComponent(cssStr);
    var uri = ios.newURI(data, null, null);
    if(sss.sheetRegistered(uri, sss.USER_SHEET))
        sss.unregisterSheet(uri, sss.USER_SHEET);
    if(removeFlag)
        return;
    sss.loadAndRegisterSheet(uri, sss.USER_SHEET);
    window[sId] = cssStr;
}
if(!(sId in window))
    sheet(cssStr);
else if(window[sId] != cssStr) {
    sheet(window[sId], true);
    sheet(cssStr);
}


Только почему-то label вверх задирается.

Перестало работать в 4.0 почему-то :(


mzfx

Отсутствует

 

№232827-01-2011 23:09:55

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Custom Buttons

iDev.Pi пишет

Перестало работать в 4.0 почему-то :(

У меня работает.
Mozilla/5.0 (Windows NT 6.1; rv:2.0b11pre) Gecko/20110127 Firefox/4.0b11pre


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№232928-01-2011 00:29:03

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 4.0

Re: Custom Buttons

Infocatcher
хм, не работает только если находится в менюбаре (который у меня в тайтлбаре)


mzfx

Отсутствует

 

№233028-01-2011 03:54:01

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Custom Buttons

iDev.Pi
Кнопка должна инициализироваться после перемещения кнопки/менюбара, тогда будет работать.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№233128-01-2011 13:36:53

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 4.0

Re: Custom Buttons

Infocatcher
а как такой приоритет настроить?


mzfx

Отсутствует

 

№233228-01-2011 14:49:25

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Custom Buttons

iDev.Pi
Или какое-то гипотетическое расширение (типа почему-то исчезнувшего* с АМО Personal Titlebar) перемещает панели/кнопки раньше срабатывания инициализации кнопки, или сама кнопка должна заниматься перемещениями.
То есть можно в начало кода инициализации кнопки-заголовка добавить

Выделить код

Код:

document.getElementById("appmenu-button").parentNode.appendChild(document.getElementById("toolbar-menubar"));

(и следить, чтобы панель меню была скрыта)

Но можно и принудительно скрывать:

Выделить код

Код:

const tbId = "toolbar-menubar";
var tb = document.getElementById(tbId);
var hideAttr = tb.getAttribute("type") == "menubar" ? "autohide" : "collapsed";
if(tb.getAttribute(hideAttr) != "true") {
    tb.setAttribute(hideAttr, "true");
    document.persist(tbId, hideAttr);
    if("PlacesToolbarHelper" in window) { // Firefox 4
        PlacesToolbarHelper.init();
        BookmarksMenuButton.updatePosition();
        updateAppButtonDisplay();
    }
}

Добавлено 28-01-2011 14:54:06
*Исчезло, но не совсем:
https://forums.mozilla.org/addons/viewtopic.php?t=1644
http://forums.mozillazine.org/viewtopic.php?t=1980071
http://forum.moztw.org/viewtopic.php?t=30922

Отредактировано Infocatcher (28-01-2011 14:58:14)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№233328-01-2011 15:26:19

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Custom Buttons

iDev.Pi пишет

а чем это плохо, кроме незначительного утяжеления по весу?

Увеличением времени тестирования, например. Да и насчёт "незначительного утяжеления" я совсем не уверен.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№233428-01-2011 16:41:08

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 4.0

Re: Custom Buttons

Infocatcher пишет

Или какое-то гипотетическое расширение

я не использую никаких персональных тайтлбаров и прочих дополнений.
Но, я как то и не додумался, что код который перемещает тулбар можно прям в кнопку с тайтлбаром запихнуть. Запихнул - и сразу всё стало ок, спасибо.


mzfx

Отсутствует

 

№233528-01-2011 20:32:03

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 4.0

Re: Custom Buttons

Anton пишет

Увеличением времени тестирования, например. Да и насчёт "незначительного утяжеления" я совсем не уверен.

Выпускайте в бетатестинг, мы, народ готовый потестировать на себе - с удовольствием потратим своё время ради улучшения стабильности.
Мы в отличие от вас - только тестировать и умеем :)


mzfx

Отсутствует

 

№233602-02-2011 05:34:06

imyax
пользователь FF c 2010года
 
Группа: Members
Откуда: Сейчас здесь
Зарегистрирован: 13-04-2010
Сообщений: 209
UA: Firefox 3.6

Re: Custom Buttons

custombuttons-0.0.5.3pre4-20110201 Открывается браузер в уменьшенном виде - приходится жать кнопку "Восстановить окно" в FF3.6.13 и FF4.0bpre11.
Вернулся на предидущую custombuttons-0.0.5.3pre3-20101216.

Отсутствует

 

№233702-02-2011 13:17:39

3Jlou
Участник
 
Группа: Members
Зарегистрирован: 14-08-2008
Сообщений: 211
UA: Firefox 3.5

Re: Custom Buttons

Добрый день, уважаемые гуру!
Есть 2 кнопки: "Загрузки" и "Закладки", открывающие соответственно Загрузки и Закладки в боковой панели | в новой вкладке | в отдельном окне, соответственно при нажатии ЛКМ | СКМ | ПКМ (меню настроек вызывается нажатием Shift+ПКМ).
Загрузки:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0417%u0430%u0433%u0440%u0443%u0437%u043A%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACmElEQVR42oyU3UtUQRiHn9k9c47Ho+4uhrkthmUfkHeB91GJ1paiJl0EQZd9U3f+E1EX0b8QEUQX0ScZWd0E3VhBrWJFuZuEqyLsOTtnznSxx9rSzPdq5p13nhl+729GTBXL/BUJwAFcwAZEnDdAFagAARDVb7JYHQ6QBTKsHWWgGAPXBblAZu/ubTdUQ6YnKWslWoVIv/z6zYeZ08DCRkA2QPOW7T2dXTuwLAsMhDrk03Shp77mfyABkE6laGluRgiBACJjSKXSf9T8D1RbsBJIy0IIgcGQMAYrKfhn/b9BFtKWv1sWGZKJ5LqgJNAQiyyB1hpI4ti/pYiiCEvKlWlrbIcwFt23YkgH4NWf4DV5OI4DQmCMwWiN53n1FsnF42Xgq5gqljPA9u7OjjvupmxHUypF++Z2duzsIp3O1DQyhkhr5svzFAoFSsUSy0uL6KW5z29nZkeAaSt2a/Xy2Nit8RevLmS3bJUtqRSNXiOOLX+BwlCTTmfY091NLpujNPtF5fvP3IxdrizAB2bPnjt/r21zm3g6PnHe3tQqGxwHy5KIhMBEBoTCMQalAsJqJTh18sS1oeFjD32liysaaWDRV3pydPQ4rtMQPh6fuNjouo7luiREgshEGBPhhyHzc9+DwXz/1YGh4fu+0u+ARUCvtD8EFnylJ/MDg5G0ZfT42cSlnN3peF4TRkWoasCPuWLl6OH+a4fyRx4ENUg5vsgfPgqBcqD0u96+wwYET5+/vNjWnnONiSh9+1rJ9x28cqC3/1Gg9Pt6yFqG1EC5Gur3vX2HsG2pbt+5exYDI0OD1/ftP/ikGq6GAIg1/iNik6Ydmdzl2nI3QKWqPgRKf4xfvt7oE9HAQqD0ZKB0Ic75sYv1Wht+DgB8pQ6678CoOAAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.url2xul%3D%20%27chrome%3A//mozapps/content/downloads/downloads.xul%27%3B%0Athis.onClick%3D%20function%28e%29%0A%7B%0A%09switch%20%28e.button%29%0A%09%7B%0A%09%09case%200%3A%20%0A%09%09%09openWebPanel%28this.tooltipText%2C%20this.url2xul%29%3B%20%0A%09%09%09break%3B%0A%09%09case%201%3A%20%0A%09%09%7B%0A%09%09%09var%20t%3D%20gBrowser.mTabs%3B%0A%09%09%09var%20current%3D%20content.document.location.href%3B%0A%09%09%09var%20i%3D%20t.length%3B%0A%09%09%09if%20%28current%3D%3Dthis.url2xul%29%20gBrowser.removeCurrentTab%28%29%3B%20%0A%09%09%09else%20while%20%28true%29%0A%09%09%09%7B%0A%09%09%09%09if%20%28--i%3C0%29%20%0A%09%09%09%09%7B%0A%09%09%09%09%09if%20%28current%3D%3D%27about%3Ablank%27%29%20//%20replace%20blank%20tab%0A%09%09%09%09%09%09loadURI%28this.url2xul%29%3B%0A%09%09%09%09%09else%20//%20add%20new%20tab%20%0A%09%09%09%09%09%09gBrowser.selectedTab%3D%20gBrowser.addTab%28this.url2xul%29%3B%20%0A%09%09%09%09%09break%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%09if%20%28t%5Bi%5D.linkedBrowser.currentURI.spec%3D%3Dthis.url2xul%29%20//%20popup%20loaded%0A%09%09%09%09%7B%0A%09%09%09%09%09gBrowser.selectedTab%3D%20gBrowser.tabContainer.childNodes%5Bi%5D%3B%20%0A%09%09%09%09%09break%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%20break%3B%0A%20%20%20%20%20%09%20%20%20case%202%3A%0A%20%20%20%20%20%20%09%20%09%20%20%20%20%20if%20%28e.%20shiftKey%29%20return%3B%0A%20%20%20%20%20%20%20%09%20%09%20%20%20%20e.%20preventDefault%20%28%29%3B%0A%20%20%20%20%20%20%20%20%20%09%20%20%20BrowserDownloadsUI%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%09%20break%3B%0A%09%7D%3B%0A%7D%3B%0Athis.setAttribute%28%27onclick%27%2C%27this.onClick%28event%29%3B%27%29%3B%0A%0A//%20this.style.opacity%20%3D%20%27.85%27%3B%0A//%20this.setAttribute%28%20%27onmouseover%27%2C%20%27custombuttons.ButtonBrt%28event%29%3B%27%20%29%3B%0A//%20this.setAttribute%28%20%20%27onmouseout%27%2C%20%27custombuttons.ButtonDim%28event%29%3B%27%20%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Закладки:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0417%u0430%u043A%u043B%u0430%u0434%u043A%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADIklEQVR42pyUzWtcZRTGf+e873vnzp04ycykCQnVGmM31rSLxmq1lFKbj5JCofkT3LkJqNCUIm4bBNGFGzdVpOJCl1UpKlIVqliFYtwYhKCQNlommUzmzsz9eF3ko3Uj1Wd7OD/Ox8MjSyt1BUKgCDhAeDB5IAFioG2BXmBoG/R/FAMrFth7fv7CM9/f/HEuKIQHVJVfb/1ET//Av3ZnWYp2OovTkyfeWnjz7RsWCH5eXLw0/vSz1TAMQITICr0Dw1vDb2/hfQZeEQURJUszms2NA9euf3dpASYtwNDw3urAQI089Xif81BPD+VSBCKoCGm3DZg/AXJ0j3UFfJ5Tigo0GwNVAAUICg4VCwLeg6qiRrHGYKzSjmPOzUxfPTczfbUTtzCqGGOw1lEICgDYnfuLePAeo2CdQz3kWZdOu02etJdnZ2dvAbx/5cPluNnYZ4MCagzG6H2g3OO9RxHECKpKnqWNRx8Z+mF4cLA+cer5Ze99E+CN1xc+vvb5F/tWbt+u/Pb7H+MC5V2QB8QLqgY1grOWwJq786+89GVUjDqqshpYcxdg//7RzujoYyutuFV4ce7lEUHKuzfCe4StSYwqQaFA3E1GTp+dnamvNzZFJHZW285qW0Ti+vr65vSZszNxJxmx1rALEsCrIAaMKs45av17qPb3H52/+OpYkmXluJNW4k5aSbKsfP7CxbGevtrRSrWGs+4eyAPqPSogCNY6ilFIX1+VQwefzLzHbLTi2kYrrnmPOXRwLKvVKhTDEFX5J2hLgigYYzBqCJzjyPjhO19d/6b3xMTpueOnpuY++fSzylNHxu9YdRhrELnvaz7PgBxy3eEhQDEq8c57V6bWGs3Dzx0/WUzzjHc/+Oi1vt6em1EpAg+5z++B8m57rd1q9W0VPXjw3lMqRbgwPDY49DBRVNx2c1TsxPExEU8cb5JnydoOKJmcOHn5629vvBAWw3IQBPy1ukqz2cBahzGGprOoCHhI05Qk6ZKkCXGz2ZiZnroMJLK0Uq8VA/tE6OzjCO4/BYgnaSfpUtxNf5GllbrZzqLirtMfXOl2HsV/DwCh4y8dx5VHBwAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.url2xul%3D%20%27chrome%3A//browser/content/places/places.xul%27%3B%0Athis.onClick%3D%20function%28e%29%0A%7B%0A%20%20%20%20switch%20%28e.button%29%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20case%200%3A%20%0A%20%20%20%20%20%20%20%20%20%20%20%20openWebPanel%28this.tooltipText%2C%20%27chrome%3A//browser/content/bookmarks/bookmarksPanel.xul%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20case%201%3A%20%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20t%3D%20gBrowser.mTabs%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20current%3D%20content.document.location.href%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20i%3D%20t.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28current%3D%3Dthis.url2xul%29%20gBrowser.removeCurrentTab%28%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20while%20%28true%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28--i%3C0%29%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28current%3D%3D%27about%3Ablank%27%29%20//%20replace%20blank%20tab%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20loadURI%28this.url2xul%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%20//%20add%20new%20tab%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gBrowser.selectedTab%3D%20gBrowser.addTab%28this.url2xul%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28t%5Bi%5D.linkedBrowser.currentURI.spec%3D%3Dthis.url2xul%29%20//%20popup%20loaded%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gBrowser.selectedTab%3D%20gBrowser.tabContainer.childNodes%5Bi%5D%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%7D%3B%20break%3B%0A%20%20%20%20%20%20%20%20case%202%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28e.%20shiftKey%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20e.%20preventDefault%20%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20PlacesCommandHook.showPlacesOrganizer%28%27AllBookmarks%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%7D%3B%0A%7D%3B%0Athis.setAttribute%28%27onclick%27%2C%27this.onClick%28event%29%3B%27%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*Code*/%0A%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Прошу "допилить" код кнопок, чтобы их поведение по нажатию ЛКМ было аналогично стандартным кнопкам вызова Журнала/Закладок в боковой панели, т.е. при активации вышеприведенных кнопок она были "утоплены", а при повторном нажатии боковая панель сворачивалась, а не обновлялась, как это реализовано в вышеприведенном коде.
P.S. FF 4.0b11pre от 01.02.2011, Custom Buttons 0.0.5.2 с подправленным install.rdf

Отредактировано 3Jlou (02-02-2011 13:22:14)

Отсутствует

 

№233802-02-2011 14:11:55

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Custom Buttons

3Jlou
Для закладок – добавить в самое начала инициализации

Выделить код

Код:

this.setAttribute("observes", "viewBookmarksSidebar");

и убрать

Выделить код

Код:

case 0: 
            openWebPanel(this.tooltipText, 'chrome://browser/content/bookmarks/bookmarksPanel.xul');
            break;

Добавлено 02-02-2011 14:29:29
А встроенной боковой панели загрузок нет, так что надо ее создавать.
Добавить в начало инициализации:

Выделить код

Код:

var bc = cbu.makeXML(
    <broadcaster xmlns={xulns} id="cbViewDownloadsSidebar" autoCheck="false"
        label={document.getElementById("menu_openDownloads").label}
        type="checkbox" group="sidebar" sidebarurl="chrome://mozapps/content/downloads/downloads.xul"
        oncommand="toggleSidebar('cbViewDownloadsSidebar');" />
);
document.getElementById("mainBroadcasterSet").appendChild(bc);
this.setAttribute("observes", "cbViewDownloadsSidebar");

Убрать:

Выделить код

Код:

case 0: 
            openWebPanel(this.tooltipText, this.url2xul); 
            break;

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№233902-02-2011 14:43:39

3Jlou
Участник
 
Группа: Members
Зарегистрирован: 14-08-2008
Сообщений: 211
UA: Firefox 3.5

Re: Custom Buttons

Infocatcher, мерси, всё заработало, плюсую!

Отсутствует

 

№234002-02-2011 15:47:52

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 4.0

Re: Custom Buttons

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

Выделить код

Код:

// about:config, about:support, about:memory, etc.
var menu = <menupopup xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
              xmlns:cb="http://xsms.nm.ru/custombuttons/"
              onclick="this. parentNode. handleClick (event);"
        oncommand="event.stopPropagation();">
        <menu label="Фолдер1" image="не_работает">
            <menupopup>
                <menuitem label="Итем1"
                      class="menuitem-iconic"
                      image="адрес_картинки"
                      cb:url="открываемый адрес"/>
                <menuitem label="Итем2"
                      class="menuitem-iconic"
                      image="адрес_картинки"
                      cb:url="открываемый адрес"/>
                <menuitem label="Итем3"
                      class="menuitem-iconic"
                      image="адрес_картинки"
                      cb:url="открываемый адрес"/>
            </menupopup>
        </menu>
        <menu label="Фолдер2">
            <menupopup>
                <menuitem label="google"
                      class="menuitem-iconic"
                      image="http://yandex.st/lego/_/pDu9OWAQKB0s2J9IojKpiS_Eho.ico"
                      cb:url="http://www.google.com"/>
                <menuitem label="yandex"
                      class="menuitem-iconic"
                      image="http://yandex.st/lego/_/pDu9OWAQKB0s2J9IojKpiS_Eho.ico"
                      cb:url="http://www.yandex.ru"/>
            </menupopup>
        </menu>
        <menuitem label="about:config"
              cb:url="about:config"/>
        <menuitem label="about:support"
              cb:url="about:support"/>
        <menuitem label="about:memory"
              cb:url="about:memory"/>
        <menuitem label="about:startup"
              cb:url="about:startup"/>
        <menuitem label="about:buildconfig"
              cb:url="about:buildconfig"/>
        <menuitem label="about:plugins"
              cb:url="about:plugins"/>
        <menuitem label="about:cache"
              cb:url="about:cache"/>
            </menupopup>;
this. appendChild (custombuttonsUtils. makeXML (menu));
//this.removeAttribute("context");
this. oncontextmenu = function (e)
{
    if ((e. button == 2) && !(e. ctrlKey || e. shiftKey || e. altKey || e. metaKey))
            e. preventDefault ();
};
this.onclick = function(e) {
    if(e.target != this)
        return;
    if(e.button == 2) {
        if(!(e.ctrlKey || e.shiftKey || e.altKey || e.metaKey))
            this.lastChild.openPopupAtScreen(e.screenX, e.screenY, true);
    }

};
this. orient = "horizontal";
this. handleClick = function (event)
{
    var menuitem = event. target;
    var url = menuitem. getAttributeNS ("http://xsms.nm.ru/custombuttons/", "url");
    if (event. button == 0)
        loadURI (url);
    else if (event. button == 1)
        gBrowser. addTab (url);
    this. open = false;
};

Исправьте, пожалуйста, в этой кнопке такое поведение: если я кликаю ПКМ - открывается меню. Если я жму средней кнопкой - то открывается нужный объект в новой вкладке, а меню при этом не закрывается, а хочется, чтоб закрывалось.

Отредактировано iDev.Pi (02-02-2011 16:51:33)


mzfx

Отсутствует

 

№234102-02-2011 16:25:21

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.6

Re: Custom Buttons

iDev.Pi пишет

Если я жму средней кнопкой - то открывается нужный объект в новой вкладке, а меню при этом не закрывается, а хочется, чтоб закрывалось.

После

Выделить код

Код:

this. open = false;

добавить

Выделить код

Код:

closeMenus(menuitem); // chrome://browser/content/utilityOverlay.js

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№234202-02-2011 16:52:34

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 4.0

Re: Custom Buttons

Infocatcher
спасибо, it worx :)


mzfx

Отсутствует

 

№234304-02-2011 05:56:02

misha87
Участник
 
Группа: Members
Зарегистрирован: 21-11-2010
Сообщений: 5
UA: Firefox 3.6

Re: Custom Buttons

Жалко, что нет класификации кнопок на форуме. Поэтому мой вопрос не считайте тупым, если он повторялся

Есть ли кнопки для "следующей-предыдущей страницы" ?

Отсутствует

 

№234404-02-2011 08:07:02

imyax
пользователь FF c 2010года
 
Группа: Members
Откуда: Сейчас здесь
Зарегистрирован: 13-04-2010
Сообщений: 209
UA: Firefox 4.0

Re: Custom Buttons

Отсутствует

 

№234504-02-2011 17:20:39

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Custom Buttons

imyax пишет

custombuttons-0.0.5.3pre4-20110201 Открывается браузер в уменьшенном виде - приходится жать кнопку "Восстановить окно" в FF3.6.13 и FF4.0bpre11.

Проверил в Linux и Windows, ничего подобного не заметил.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№234604-02-2011 19:50:08

imyax
пользователь FF c 2010года
 
Группа: Members
Откуда: Сейчас здесь
Зарегистрирован: 13-04-2010
Сообщений: 209
UA: Firefox 4.0

Re: Custom Buttons

Anton пишет

imyax пишет:custombuttons-0.0.5.3pre4-20110201 Открывается браузер в уменьшенном виде - приходится жать кнопку "Восстановить окно" в FF3.6.13 и FF4.0bpre11.Проверил в Linux и Windows, ничего подобного не заметил.

Выяснил: такой эффект даёт кнопка Постоянно выключенный Chrome-заголовок - показать Готовые кнопки для Custom Buttons | Форум Mozilla Россия. На предидущих версиях custombuttons всё нормально.

Отсутствует

 

№234704-02-2011 20:41:19

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Custom Buttons

imyax пишет

Выяснил: такой эффект даёт кнопка Постоянно выключенный Chrome-заголовок - показать Готовые кнопки для Custom Buttons | Форум Mozilla Россия. На предидущих версиях custombuttons всё нормально.

Начиная с 0.0.5.4 код инициализации кнопок выполняется не сразу, а откладывается до события onload, из-за этого, видимо и проблема.
Попробуй убрать первый window.restore(); из инициализации кнопки "Постоянно выключенный Chrome-заголовок".


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№234804-02-2011 22:02:37

imyax
пользователь FF c 2010года
 
Группа: Members
Откуда: Сейчас здесь
Зарегистрирован: 13-04-2010
Сообщений: 209
UA: Firefox 4.0

Re: Custom Buttons

Anton пишет

Попробуй убрать первый window.restore(); из инициализации кнопки "Постоянно выключенный Chrome-заголовок".

Помогло полное убирание
window.restore();
window.maximize();
window.restore();
из инициализации кнопки "Постоянно выключенный Chrome-заголовок".Спасибо.

Отсутствует

 

№234905-02-2011 07:53:43

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Custom Buttons

imyax пишет

Помогло полное убирание
window.restore();
window.maximize();
window.restore();
из инициализации кнопки "Постоянно выключенный Chrome-заголовок"

У меня работает без первого windows.restore().
Скорее всего это особенность настройки оконного менеджера.
В windows я разницы между 0.0.5.3 и 0.0.5.4 не заметил.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№235006-02-2011 06:50:22

misha87
Участник
 
Группа: Members
Зарегистрирован: 21-11-2010
Сообщений: 5
UA: Firefox 3.6

Re: Custom Buttons

imyax пишет

misha87 Firefox navigation buttons | custombuttons

Там стандартные кнопки навигации ( которые уже есть в мозиле) , я попросил нестандартные

Отредактировано misha87 (06-02-2011 06:50:52)

Отсутствует

 

Board footer

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