Firefox插件按钮代码不起作用 - Javascript

时间:2013-06-21 20:27:12

标签: javascript firefox button navbar

我正在创建一个Firefox扩展程序,用于在工具栏上自动放置一个按钮,单击此按钮将在新选项卡中打开一个网页。我已经使用了Mozilla开发站点的代码片段,但是当两者放在一起时,只有按钮放置工作。单击时该按钮不执行任何操作。

我对javascript知之甚少,所以我不知道这里出了什么问题。整个扩展已通过所有Mozilla验证检查,没有错误,也没有警告。

这是代码。非常感谢您提供的任何帮助。

CustomButton = {
1: function installButton(toolbarId, id, afterId) {
    if (!document.getElementById(id)) {
        var toolbar = document.getElementById(toolbarId);

        // If no afterId is given, then append the item to the toolbar
        var before = null;
        if (afterId) {
            let elem = document.getElementById(afterId);
            if (elem && elem.parentNode == toolbar)
                before = elem.nextElementSibling;
        }

        toolbar.insertItem(id, before);
        toolbar.setAttribute("currentset", toolbar.currentSet);
        document.persist(toolbar.id, "currentset");
    }

if (firstRun) {
    installButton("nav-bar", "my-extension-navbar-button");
}
},

2: function () {

const url = "http://www.mysite.com/"

document
    .getElementById("content")

.webNavigation

.loadURI(url, 0, null, null, null)

}
}

我对此不是很敏锐,这就是为什么我在这里提出问题而不是寻找其他对我没用的例子。如果有人可以告诉我如何修改这个特定代码来做我需要做的事情,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

这将从FF 29开始,将于2014年4月发布 它会向工具栏添加一个操作按钮,一旦您单击它,它将在新选项卡中加载http://www.example.com网站;如果你想加载一个新窗口,请使用require(" sdk / windows")代替。

使用addon-sdk

var ui = require("sdk/ui");
var action_button = ui.ActionButton({
    id: "my-button",
    label: "Open example page!",
    icon: "./icon.png",
    onClick: function() {
        require("sdk/tabs").open("http://www.example.com");
    }
});