我正在创建一个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)
}
}
我对此不是很敏锐,这就是为什么我在这里提出问题而不是寻找其他对我没用的例子。如果有人可以告诉我如何修改这个特定代码来做我需要做的事情,我将不胜感激。
答案 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");
}
});