Страницы: 1
Здравствуйте. Мне нужно программно (т.е. при установке моей программы) создать кнопку на панели инструментов и пункт контекстного меню страницы (ссылки) в Mozila, которые будут открывать мою программу на локальном компьютере и передавать ей в качестве параметра ссылку. Подскажите, как это сделать?
Отсутствует
Добавить кнопку в Палитру кнопок получилось, но как сделать так, чтобы при установке расширения кнопка добавлялась сразу в панель навигации???
И еще. В контекстное меню страницы я встроился, а как встроить пункт в контекстное меню ссылки???
Отсутствует
По форуму прошелся. Такой вопрос возникал неоднократно, но адекватного решения я не нашел. Допустим, код отсюда http://forum.mozilla-russia.org/viewtopic.php?id=54133 у меня не заработал. И все-таки, по возможности прошу привести рабочий код, а еще лучше - пример рабочего расширения, чтобы разрешить этот вопрос раз и навсегда.
Отсутствует
Вот 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.
Отсутствует
Страницы: 1