Это известная проблема в расширениях Firefox для Mac OS? - PullRequest
2 голосов
/ 11 февраля 2010

Я разработал расширение 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, есть две маленькие кнопки без текста (это было бы хорошо , но с использованием того же кода XUL в расширении кнопки не отображаются).

Есть предложения? Это известная проблема для Mac OS Firefox?

1 Ответ

4 голосов
/ 11 февраля 2010

В родных приложениях Mac настройки вступают в силу мгновенно, и кнопки ОК / Отмена отсутствуют (например, откройте «Системные настройки»). XUL <prefwindow> имитирует это поведение.

Это поведение "мгновенного применения" фактически контролируется префом browser.preferences.instantApply, если вы установите его на компьютере с Windows, вы увидите, что кнопки OK / Отмена исчезнут.

...