Firefox扩展 - 如何使用menulist的首选项?

时间:2011-03-28 20:02:30

标签: firefox firefox-addon xul

我正在尝试使用标记<preference>来保存<menulist>的状态。但我找不到我做错了什么。

这是我的代码:

    <preferences>
        <preference id="selectpref1" name="preference.name" type="int" /> 
    </preferences>


    <menulist>
        <menupopup preference="selectpref1">
            <menuitem label="option 1" value="1"/>
            <menuitem label="option 2" value="2"/>
            <menuitem label="option 3" value="3"/>
            <menuitem label="option 4" value="4"/>
        </menupopup>
   </menulist>

2 个答案:

答案 0 :(得分:0)

我很确定你做不到。您只需要为每个菜单项添加一个oncommand,这会改变首选项。您可能还想为“popupshowing”事件添加一个侦听器,该事件检查首选项并根据当前选择的任一项选中复选标记。

请参阅https://developer.mozilla.org/en/Code_snippets/Preferences

答案 1 :(得分:0)

你可以这样做,这是我的扩展程序中的代码:

<hbox align="center">
    <label value="Log Level" control="loglevellist" />
    <menulist id="loglevellist" preference="loglevel" preference-editable="true">
      <menupopup>
        <menuitem label="Full" value="0" />
        <menuitem label="Relevant" value ="1" />
        <menuitem label="Warning" value="2" />
        <menuitem label="Error" value="3" />
        <menuitem label="Critical" value="4" />
      </menupopup>
    </menulist>
  </hbox>

loglevel首选项是整数。 基本上我认为你只缺少偏好可编辑属性

修改  我没有正确看到,你对 menupopup 的偏好属性而不是 menulist - 偏好应该依赖于menulist。