Firefox addon 如何关闭firefox中的侧边栏
我的firefox插件中有一个侧边栏。我希望此侧栏具有以下行为-如果在关闭浏览器时侧栏处于打开状态,则应强制关闭侧栏(以便下次打开浏览器时侧栏不会处于打开状态)。我正在尝试这样做:Firefox addon 如何关闭firefox中的侧边栏,firefox-addon,sidebar,Firefox Addon,Sidebar,我的firefox插件中有一个侧边栏。我希望此侧栏具有以下行为-如果在关闭浏览器时侧栏处于打开状态,则应强制关闭侧栏(以便下次打开浏览器时侧栏不会处于打开状态)。我正在尝试这样做: uninit: function() { var sidebarWindow = document.getElementById("sidebar").contentWindow; if (sidebarWindow.location.href == "chrome://myaddon/content
uninit: function() {
var sidebarWindow = document.getElementById("sidebar").contentWindow;
if (sidebarWindow.location.href == "chrome://myaddon/content/mysidebar.xul") {
// Act on the sidebar content
toggleSidebar('mySampleSidebar');
}
}
对于window.unload事件,我将其称为unnit:
addEventListener(“unload”,function(){myobj.uninit()},false)
有人能告诉我如何做到这一点,因为我正在尝试做的是不工作
谢谢
Kapil在firefox侧边栏中添加
toggleSidebar();
在“加载”
事件侦听器函数中
例如,请参见此处:
sidebar.onFirefoxLoad = function(event) {
document.getElementById("contentAreaContextMenu")
.addEventListener("popupshowing", function (e)
{ sidebar.showFirefoxContextMenu(e); }, false);
toggleSidebar();
};
window.addEventListener("load", sidebar.onFirefoxLoad, false);
您关闭侧栏的代码是正确的,但我认为卸载更改浏览器窗口(browser.xul)的启动状态为时已晚,因为browser.xul已被卸载(其状态,包括侧栏状态,已被存储) 而是在卸载前使用。我测试了以下各项,似乎效果良好:
window.addEventListener(“卸载”,myobj.uninit,false)
在极少数情况下,浏览器进程可能会被终止,因此不会调用卸载(用户终止或崩溃)。我不确定是否偶尔会像存储选项卡一样存储侧边栏的状态,但如果它这样做,在这种罕见的情况下,它可能会打开并显示侧边栏。要处理这种情况,您可以添加@Vinothkumar建议的内容
window.addEventListener(“load”,myobj.uninit,false)
为什么要将其添加到load?我猜你所做的只是在浏览器打开时关闭它,而不是在浏览器关闭时关闭它?请注意,您没有检查侧栏,因此它可能是其他人的侧栏。在考虑了一会儿之后,我认为加载的想法也是一个很好的补充,也是一个很好的概念,因此我对此进行了投票。然而,我仍然认为在卸载时捕获它是更好的默认情况,我肯定认为您应该检查一下您的边栏是否像@Kapil那样。