Firefox addon 如何处理mozilla firefox插件的首选项和接口?

Firefox addon 如何处理mozilla firefox插件的首选项和接口?,firefox-addon,xul,Firefox Addon,Xul,我想问一些问题: 我应该采取哪些步骤在mozilla firefox上创建界面并处理所有这些界面。 我想制作的接口包括: 由标签和图片组成的状态栏,如果右键单击菜单上的状态栏将显示活动的加载项(加载项菜单不活动隐藏)和首选项 当前网页右键点击,在浏览器上会显示一个上下文菜单“terjemahkan”,左角有图片 当我选择工具菜单>>插件上的选项按钮时,用户可以使用单选按钮调整这些插件设置 选择关联菜单后,浏览器窗口将显示所需结果 我所做的步骤是: 我被制作成状态栏,但为什么我按照指示制作的图片不

我想问一些问题: 我应该采取哪些步骤在mozilla firefox上创建界面并处理所有这些界面。 我想制作的接口包括:

  • 由标签和图片组成的状态栏,如果右键单击菜单上的状态栏将显示活动的加载项(加载项菜单不活动隐藏)和首选项

  • 当前网页右键点击,在浏览器上会显示一个上下文菜单“terjemahkan”,左角有图片

  • 当我选择工具菜单>>插件上的选项按钮时,用户可以使用单选按钮调整这些插件设置

  • 选择关联菜单后,浏览器窗口将显示所需结果

  • 我所做的步骤是:

    我被制作成状态栏,但为什么我按照指示制作的图片不想出现。以及在关联菜单上,图像不能像通常一样出现在菜单的左上角

    <?xml version="1.0"?>
    
    <overlay id="inline_trans"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    xmlns:html="http://www.w3.org/1999/xhtml">
    
    <!--
      <script type="application/x-javascript" src="chrome://translator/content/script.js" />
      <script type="application/x-javascript" src="chrome://translator/content/interface.js" />
    
    -->
        <!-- menu klik kanan pada halaman web -->
    
        <popup id="contentAreaContextMenu">
            <menuseparator />
            <menuitem id="intransContextMenuPage"
             image="chrome://inlinetrans/skin/imagesOn_kecil.png"
             label="terjemahkan dengan intrans"
             oncommand="inline.script.getText()" />
        </popup>
    
        <!-- pilihan menu pada status bar -->
    
    <popupset>
      <menupopup id="intransContextMenu">
        <menuitem label="intrans nonaktif"
         image="chrome://inlinetrans/skin/imagesOff_kecil.png"
         hidden="true"/>
        <menuitem label="intrans aktif"
         image="chrome://inlinetrans/skin/imagesOn_kecil.png"
         hidden="false"/>
        <menuseparator />
        <menuitem label="preferensi"/>
      </menupopup>
    </popupset>
    
    <!-- ========================================= -->
    
    <!-- statusbar-->
    
        <statusbar id="status-bar">
          <statusbarpanel id="status-bar-intrans"
           image="chrome://inlinetrans/skin/imagesOn_kecil.png"
           label="intrans"
           context="intransContextMenu"
           tooltiptext="intrans versi 1.0"
           />
        </statusbar>
    </overlay> 
    
    
    
    用户界面选项首选项

        <?xml version="1.0"?>
        <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
    
        <!DOCTYPE overlay SYSTEM "chrome://inlinetrans/locale/options.dtd">
    
        <dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
          id="translate-preferences"
          title="&options.title;"
          buttons="accept, cancel"
          style="padding:0px; margin:0px;"
          ondialogaccept="options.save()"
          onload="options.init();"
          onunload="options.deconstruct();">
    
        <!--
          <stringbundleset id="stringbundleset">
            <stringbundle id="locale-properties" src="chrome://translator/locale/translator.properties"/>
            <stringbundle id="properties" src="chrome://translator/content/translator.properties"/>
          </stringbundleset>
        -->
    
       <!--
          <script src="chrome://inlinetrans/content/options.js" />
    
       -->
    
          <description value="&options.desc;"
            style="
            background: #fff url('chrome://inlinetrans/skin/options.png') no-repeat;
            min-width:400px;
            min-height:40px;
            padding-left:55px;
            padding-top:10px;
            margin:0px;
            border-bottom: 2px solid #757575;
            font-size:1.5em;"/>
    
          <vbox style="padding:10px;">
            <groupbox>
              <caption label="&options.ui;"/>
              <label value="&options.results.desc;"/>
            <radiogroup id="display.results" style="padding-left:20px;">
              <radio id="results.cat" value="category" label="&options.results.cat;"/>
                  <radio id="results.noncat"  value="noncategory" label="&options.results.noncat;"/>
              </radiogroup>
            </groupbox>
         </vbox>
        </dialog>
    
    
    
    最让我困惑的是如何处理所有处理程序界面。

    例如:

  • 将加载项的状态从活动更改为非活动

  • 获取所选单选按钮的值


  • 我不能回答你所有的问题,部分原因是我不知道你到底想要什么,但这是一个开始:

    • 要在菜单项旁边显示图像,必须为元素指定class
      menuitem-ignical
      ,如下所示:


      • 我无法回答您所有的问题,部分原因是我不知道您到底想要什么,但这是一个开始:

        • 要在菜单项旁边显示图像,必须为元素指定class
          menuitem-ignical
          ,如下所示:


        如果显示XUL代码的相关部分,则更容易提供帮助。如果显示XUL代码的相关部分,则更容易提供帮助。我已尝试实现您给出的代码,但为什么图片和状态栏标签不可见。我应该如何设置javascript文件的状态栏?@user495688:我不明白你的意思。你能澄清一下吗?嗯……我已经尝试将代码作为你提供的解决方案来应用,但是我想要的图像没有出现,我不知道为什么会出现这种情况,尽管我已经尝试了很多次,我的代码有什么问题?我已经尝试按照你给出的代码来实现,但是为什么图片和状态栏标签一样不可见呢。我应该如何设置javascript文件的状态栏?@user495688:我不明白你的意思。你能澄清一下吗?嗯……我已经尝试将代码作为你提供的解决方案来应用,但是我想要的图像没有出现,我不知道为什么会出现这种情况,即使我已经尝试了很多次,我的代码有什么问题?
        <menuitem id="intransContextMenuPage"
         class="menuitem-iconic"
         image="chrome://inlinetrans/skin/imagesOn_kecil.png"
         label="terjemahkan dengan intrans"
         oncommand="inline.script.getText()" />
        
        var value = document.getElementById('display.results').selectedItem.value;