我创建了一个包含工具栏按钮的firefox扩展.如何进行设置,以便在安装扩展程序时,按钮会自动显示在主工具栏中.我不希望我的用户必须转到自定义工具栏菜单并拖动我的按钮.
来自https://developer.mozilla.org/En/Code_snippets:Toolbar#Adding_button_by_default -
当您创建和部署扩展并通过覆盖自定义工具栏选项包含工具栏按钮时,默认情况下它不可用.用户必须将其拖动到工具栏上.以下代码默认情况下会将您的按钮放在工具栏上.这应该只在安装后第一次运行加载项时完成,这样如果用户决定删除按钮,则每次启动应用程序时都不会再次显示.
笔记
默认情况下,首次运行或扩展更新添加新按钮时,只需插入一次按钮.
如果它为用户增加了真正的价值,请默认添加您的按钮,这将是您的扩展程序的常用入口点.
您不能在以下任何元素之间插入工具栏按钮:组合后退/前进按钮,位置栏,停止按钮或重新加载按钮.当放置在彼此旁边时,这些元素具有特殊行为,并且如果被另一个元素分开则会中断.
/** * Installs the toolbar button with the given ID into the given * toolbar, if it is not already present in the document. * * @param {string} toolbarId The ID of the toolbar to install to. * @param {string} id The ID of the button to install. * @param {string} afterId The ID of the element to insert after. @optional */ 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 (toolbarId == "addon-bar") toolbar.collapsed = false; } } if (firstRun) { installButton("nav-bar", "my-extension-navbar-button"); // The "addon-bar" is available since Firefox 4 installButton("addon-bar", "my-extension-addon-bar-button"); }