2012-06-28 43 views
0

我正在创建一个Firefox扩展。它工作正常。但问题是,当我将按钮添加到导航工具栏时,它会删除/禁用工具栏上的其他按钮。请请检查什么是错的我下面的代码:此代码删除/禁用其他Firefox扩展的工具栏按钮

id = "my-toolbar-button"; 
if (!document.getElementById(id)) 
{ 
    var navbar = document.getElementById("nav-bar"); 
    var newset = navbar.currentSet + ",my-toolbar-button"; 
    navbar.currentSet = newset; 
    navbar.setAttribute("currentset", newset); 
    document.persist("nav-bar", "currentset"); 
} 

回答

2

我已经找到了anwser在下面的帖子:Automatically install toolbarbutton to firefox nav-bar, not working with insertItem

上面的代码运行之前就Firefox已经初始化工具栏。所以它将其按钮添加到默认工具栏并设置它。解决的办法是等待firefox在加载时使用evenlistener进行初始化。像这样:

window.addEventListener("load", function() { installButton(); }, false); 
+0

是的,这总是值得推荐的。你不应该在'load'事件之前访问文档,这会破坏所有的东西。 –