mozilla
您的搜索结果

    升级扩展支持多种Mozilla应用程序

    这篇文章展示了如何将一个扩展升级使其能够用于更多的Mozilla应用程序。我们将使用本系列中早先的文章提到的股票监视扩展,将其升级使其能够用于Thunderbird和Sunbird。(原有的版本只能用于Firefox)。

    如果你还没有建立扩展,或者希望回忆相关内容,可以参考本系列以前的文章:

    下载例子

    你可以下载这篇文章中的示例代码以便和文章对照着看,或者以之作为你自己的扩展的基础。

    更新安装清单

    第一步是修改扩展的install manifest指示它可以安装在Thunderbird和Sunbird上。这通过在<tt>install.rdf</tt>文件中增加新的<targetApplication>标记完成,类似这样:

        <!-- Describe the Thunderbird versions we support -->
        
        <em:targetApplication>
          <Description>
            <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id>
            <em:minVersion>1.5</em:minVersion>
            <em:maxVersion>2.0.0.*</em:maxVersion>
          </Description>
        </em:targetApplication>
    
        <!-- Describe the Sunbird versions we support -->
        
        <em:targetApplication>
          <Description>
            <em:id>	{718e30fb-e89b-41dd-9da7-e25a45638b28}</em:id>
            <em:minVersion>0.2</em:minVersion>
            <em:maxVersion>0.4.*</em:maxVersion>
          </Description>
        </em:targetApplication>
    

    这两段指明扩展支持Thunderbird 1.5版本到2.0.0.x版本,Sunbird0.2版本到0.4.x版本。

    插入这段代码以后,你可以将这个扩展安装到Firefox,Thunderbird和Sunbird中任何一个(或全部)上,但是你在Thunderbird和Sunbird上看不到任何效果。

    这是因为这两个应用程序并不知道由这个扩展提供的chrome能够做些什么。这时候就该chrome manifest登场了。

    更新chrome清单

    建立我们自己的chrome清单的时候,可以回忆一下本系列第一篇文章,那时我们还有什么没有接触到?现在该涉及到它了。正像你能够(或者不能)回忆起来的那样,那个文件通知应用程序,你的扩展界面需要覆盖哪些XUL代码。

    对于Firefox,我们要覆盖<tt>browser.xul</tt>,它描绘了Firefox浏览器窗口。我们需要在Thunderbird和Sunbird清单中加入几行,类似这样的:

    # Thunderbird
    overlay chrome://messenger/content/messenger.xul chrome://stockwatcher2/content/stockwatcher2.xul
    
    # Sunbird
    
    overlay chrome://calendar/content/calendar.xul chrome://stockwatcher2/content/stockwatcher2.xul
    

    这些行使得我们通过<tt>stockwatcher2.xul</tt>文件能够覆盖Thunderbird主消息窗口和Sunbird的主窗口。

    通过这些简单的技巧,这个扩展将能够在所有这三个应用程序中工作,且同样能够以同样的方式运转。

    文档标签和贡献者

    标签: 
    Contributors to this page: ziyunfei, Steekid
    最后编辑者: ziyunfei,