I try to add a new button to Firefox, but it's the old button that gets added!
Once, I tried adding a button with "bookmark-item pagerank" as class to 开发者_运维问答PersonalToolbar. Now, the code...
function createToolbarButton() {
const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
var anitem = document.createElementNS(XUL_NS, "toolbarbutton");
anitem.setAttribute("id", "Testing-Doit-Button2");
anitem.setAttribute("class", "toolbarbutton-1 chromeclass-toolbar-additional pagerank");
anitem.setAttribute("label", "PageRank");
anitem.setAttribute("tooltiptext", "Do it!");
anitem.setAttribute("oncommand", "testing_doit();");
return anitem;
}
function placeToolbarButton() {
var bar = document.getElementById("nav-bar");
var newitem = createToolbarButton();
bar.appendChild(newitem);
}
placeToolbarButton();
...adds a button with "bookmark-item pagerank" instead of "toolbarbutton-1 chromeclass-toolbar-additional pagerank" as class to PersonalToolbar instead of nav-bar!
How to solve this problem?
UPDATED! I hadn't noticed that the function names were still the old ones! I want to create and place a toolbar button, not a bookmark item! I'm sorry!
Now, it works! In the Javascript Shell, typing a function with the same name as an other function in button.js and hiting enter, even if they have different behaviors, will call the function in button.js
By the way, to use the Javascript Shell the way I used, you have to install Extension Developer's Extension, then go Firefox -> Tools -> ExtensionDeveloper -> Javascript Shell -> enumerateWindows() -> chrome://browser/content/browser.xul
精彩评论