Как сделать кнопку рядом с адресной строкой?

Я разрабатываю расширение для Firefox и хочу добавить кнопку рядом с адресной строкой. И тогда мне нужно прикрепить букмарклет к этой кнопке.

Кто-нибудь может сказать мне, какие API мне нужно использовать для создания этой кнопки и добавления букмарклета?


person xRobot    schedule 25.05.2012    source источник
comment
Я нашел душу :-). Библиотека moz-urlbarbutton   -  person    schedule 05.07.2012


Ответы (1)


Вот пример, в котором используется библиотека кнопок панели инструментов Эрика Волда для добавления кнопки рядом с адресной строкой:

const data = require("self").data;
const tabs = require("tabs");

exports.main = function(options) {
    var btn = require("toolbarbutton").ToolbarButton({
        id: 'my-toolbar-button',
        label: 'Add skull!',
        image: data.url('skull-16.png'),
        onCommand: function() {
            if (typeof(tabs.activeTab._worker) == 'undefined') {
                let worker = tabs.activeTab.attach({
                    contentScript: 'self.port.on("sayhello", function() { alert("Hello world!"); })'
                });
                tabs.activeTab._worker = worker;
            }
            tabs.activeTab._worker.port.emit("sayhello");
        }
    });

    if (options.loadReason === "install") {
    btn.moveTo({
      toolbarID: "nav-bar",
      forceMove: false // only move from palette
    });
  }
};

Вы также можете увидеть это как работающий пример на сайте Add-on Builder:

https://builder.addons.mozilla.org/addon/1044724/latest/

person therealjeffg    schedule 26.05.2012
comment
Спасибо, а есть ли способ добавить кнопку слева от адресной строки? - person xRobot; 26.05.2012
comment
xRobot: не использует эту библиотеку. Владимир: принял к сведению. - person therealjeffg; 28.05.2012
comment
xRobot: при использовании метода moveTo используйте атрибут insertBefore. - person erikvold; 01.06.2012