用网页的形式显示附加组件的选项

对于一些我所开发的附加组件,我更喜欢用网页的形式而不是独立的对话框来显示它们的选项设置。可是缺点是,如果你用普通的网页形式显示选项设置,它会打开一个没有滚动条的新窗口,使用起来不太方便。

用新标签页的形式打开选项设置窗口,(完成设置后)关闭它。别忘了设置它为隐藏的,展示形式如下:

<?xml version="1.0"?>
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        hidden="true"
        id="options"
        onload="displayOptionsPage();">
  <script>
  function displayOptionsPage() {
    var gBrowser = Components.classes['@mozilla.org/appshell/window-mediator;1']
                             .getService(Components.interfaces.nsIWindowMediator)
                             .getMostRecentWindow('navigator:browser')
                             .gBrowser;
    gBrowser.selectedTab = gBrowser.addTab("http://example.com/options");
    document.getElementById("options").cancelDialog();
  }
  </script>
</dialog>

你会看到屏幕上快速的一闪,附加组件的配置窗口就打开了,这的确有效。并且这在Firefox 4上也运行得很不错。

希望将来的Firefox 版本能认识到打开附加组件的选项设置窗口如同打开新网址一般,简单到用新标签页打开就行了。

【原文作者:Mike Kaply】