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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№118-11-2011 22:56:49

ds007007
Участник
 
Группа: Members
Зарегистрирован: 18-11-2011
Сообщений: 6
UA: Opera 11.5

Как создать кнопку и элемент контекстного меню программно

Здравствуйте. Мне нужно программно (т.е. при установке моей программы) создать кнопку на панели инструментов и пункт контекстного меню страницы (ссылки)  в Mozila, которые будут открывать мою программу на локальном компьютере и передавать ей в качестве параметра ссылку. Подскажите, как это сделать?

Отсутствует

 

№218-11-2011 23:54:12

ds007007
Участник
 
Группа: Members
Зарегистрирован: 18-11-2011
Сообщений: 6
UA: Opera 11.5

Re: Как создать кнопку и элемент контекстного меню программно

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

Отсутствует

 

№328-06-2012 11:30:37

ds007007
Участник
 
Группа: Members
Зарегистрирован: 18-11-2011
Сообщений: 6
UA: Firefox 9.0

Re: Как создать кнопку и элемент контекстного меню программно

Добавить кнопку в Палитру кнопок получилось, но как сделать так, чтобы при установке расширения кнопка добавлялась сразу в панель навигации???
И еще. В контекстное меню страницы я встроился, а как встроить пункт в контекстное меню ссылки???

Отсутствует

 

№428-06-2012 21:16:08

ds007007
Участник
 
Группа: Members
Зарегистрирован: 18-11-2011
Сообщений: 6
UA: Firefox 9.0

Re: Как создать кнопку и элемент контекстного меню программно

По форуму прошелся. Такой вопрос возникал неоднократно, но адекватного решения я не нашел. Допустим, код отсюда http://forum.mozilla-russia.org/viewtopic.php?id=54133 у меня не заработал. И все-таки, по возможности прошу привести рабочий код, а еще лучше - пример рабочего расширения, чтобы разрешить этот вопрос раз и навсегда.

Отсутствует

 

№506-07-2012 17:55:32

ds007007
Участник
 
Группа: Members
Зарегистрирован: 18-11-2011
Сообщений: 6
UA: Firefox 9.0

Re: Как создать кнопку и элемент контекстного меню программно

Вот JavaScript код добавления кнопки на стандартную панель инструментов:

Выделить код

Код:

installButtonOnToolbar: function()
{
    try
    {
        var btn = document.getElementById("my-button-id");//get our button, if it exists

        if (!btn) //if button not exists
        {
            var navBar = document.getElementById("nav-bar");
            if (!navBar)//if nav-bar exists
                return;

            var currentSet = navBar.getAttribute("currentset");
            if (!currentSet)
                currentSet = navBar.currentSet;
    
            var curSet = currentSet.split(",");
            if (curSet.indexOf("my-button-id") == -1)
            {
                var set = curSet.concat("my-button-id");
                navBar.setAttribute("currentset", set.join(","));
                document.persist("nav-bar", "currentset");
            }
            
            navBar.insertItem("my-button-id");
        }
    }
    catch(ex)
    {
        dump("Exception during installButtonOnToolbar: " + ex + "\n");
    }
},

Эту функцию нужно вызвать при первом запуске расширения. Чтобы отловить первый запуск, можно использовать какую-нибудь настройку логического типа наподобие extensions.myextension.firstrun.

Отсутствует

 

Board footer

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