2

我开发了一个 firefox 扩展,其中包含一个由此 XUL 脚本定义的小对话框:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<prefwindow id="firenowPreferences" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="Fire.Now" ondialogaccept='onSave();' onload="checkFields();">
<script type="application/x-javascript">function onSave(){ alert('blablabla');}</script>
 <prefpane id="pane1">
  <grid>
    <rows>
      <row align="center"><label control="username">Username</label><textbox id="username"/></row>
      <row align="center"><label control="password">Password</label><textbox type="password" id="password"/></row>
    </rows>
  </grid>
 </prefpane>
</prefwindow>

上面的代码可以在这里试用

问题是在 Linux/Windows 平台上(在两个 firefox 3.5/3.6 上)一切正常,我看到这样的事情:

http://img52.imageshack.us/img52/4210/shot1v.jpg

相反,在 Mac OS 上,我可以看到同样的东西,但没有按钮!

在此处尝试 XUL 脚本,如果您使用的是 Linux/Windows,结果与屏幕截图相同,但如果您使用的是 Mac,则有两个没有文本的小按钮(这很好,但在扩展,没有显示按钮)。

有什么建议么?这是 Mac OS firefox 的已知问题吗?

4

1 回答 1

4

在本机 Mac 应用程序中,首选项会立即生效,并且没有确定/取消按钮(例如打开系统首选项)。XUL<prefwindow>模仿这种行为。

这种“即时应用”行为实际上是由一个 pref 控制的browser.preferences.instantApply,如果你在 Windows 机器上设置它,你会看到 OK/Cancel 按钮消失。

于 2010-02-11T13:51:33.487 回答