国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【FireFox】制作可自動升級的擴展
firefox 擴展開發(fā)—— 制作可自動升級的擴展
2009-02-25 21:29

 

通過 HTTPS 方式

參考文章 http://roachfiend.com/archives/2005/03/09/enabling-extension-updates/

這種方式比較簡單,根據(jù)參考文章照做就行。

如果找不到 支持 https的空間,建議使用 google app engine,不過目前 GAE只支持最大為 1M的文件。

例如 :https://jlufirefox.appspot.com/update.xml

----------------------------------------------------
通過 HTTP 方式


參考文章:(1) https://developer.mozilla.org/en/Extension_Versioning (2) https://developer.mozilla.org/en/Install_Manifests

一 處理安裝腳本 install.rdf

添加 updateURL 標簽(該url所指向的文件為一個 rdf&xml 格式的文件,文件名任意,但要確保改url所返回的header 類型為 text/rdf, text/xml or application/xml+rdf,否則瀏覽器端的 update checker無法識別) 例如:

<em:updateURL>http://www.jluopen.org/jlufirefox/update.xml</em:updateURL>

這里如果使用https:// 鏈接,則不需要指定 updateKey,如果使用 http 則必須指定。例如:

   <em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDK426erD/H3XtsjvaB5+PJqbhj
               Zc9EDI5OCJS8R3FIObJ9ZHJK1TXeaE7JWqt9WUmBWTEFvwS+FI9vWu8058N9CHhD
               NyeP6i4LuUYjTURnn7Yw/IgzyIJ2oKsYa32RuxAyteqAWqPT/J63wBixIeCxmysf
               awB/zH4KaPiY3vnrzQIDAQAB</em:updateKey>

其中的空白符會被 update checker 忽略掉。updateKey 公鑰字符串可以使用 McCoy (https://developer.mozilla.org/en/McCoy) 來制作,流程如下:

 

1 . 點擊 create 制作新的key

2 右鍵點擊 Copy Public Key(復制的內(nèi)容就是所需的 updatekey).這個key要留好哦~~,簽發(fā)擴展是還要用到。

二 處理處理遠程更新腳本 update.xml ,

我先把例子貼出來然后一一解釋.

<?xml version="1.0" encoding="UTF-8"?>

<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:em="http://www.mozilla.org/2004/em-rdf#">
        
<RDF:Description about="urn:mozilla:extension:jlu_ff@jluopen.org">
    <em:updates>
      <RDF:Seq>
        <RDF:li>
          <RDF:Description>
            <em:version>0.1.0</em:version> <!-- This is the version number of the add-on -->
            <em:targetApplication>
              <RDF:Description>
                <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
                <em:minVersion>1.5.*</em:minVersion>
                <em:maxVersion>3.*</em:maxVersion>

                <em:updateLink>http://www.jluopen.org/jlufirefox/jlu_ff_0.1.0.xpi</em:updateLink>

                <em:updateHash>sha1:8a9e3b724f68ffde45a72c9c13533cf7a1f10b80</em:updateHash>
               
                <em:updateInfoURL>http://www.jluopen.org/jlufirefox/jlu_ff_0.1.0.xhtml</em:updateInfoURL>
              </RDF:Description>
            </em:targetApplication>
          </RDF:Description>
        </RDF:li>

        <RDF:li>
          <RDF:Description>
            <em:version>0.1.1</em:version>
            <em:targetApplication>
              <RDF:Description>
                <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
                <em:minVersion>1.5.*</em:minVersion>
                <em:maxVersion>3.*</em:maxVersion>

                <em:updateLink>http://www.jluopen.org/jlufirefox/jlu_ff_0.1.1.xpi</em:updateLink>

                <em:updateHash>sha1:8a9e3b724f68ffde45a72c9c13533cf7a1f10b80</em:updateHash>
               
                <em:updateInfoURL>http://www.jluopen.org/jlufirefox/jlu_ff_0.1.1.xhtml</em:updateInfoURL>
              </RDF:Description>
            </em:targetApplication>
          </RDF:Description>
        </RDF:li>
       

      </RDF:Seq>
    </em:updates>

    <em:signature>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjJ16Qd8HK/S/KyU6X52BH1HjUrTR22A7UFN9goV9g5oCM4jTMfnto8PIBdPQYMky8Cs8pmSMfEFgiikvS6m6kNZxJpDgV6nFFCgT6xGvzbrVTwhscGNN9Dcowit7sVQPbdxOg62vGwd+2P2092hqB2Tdq0wGiyIfTv4YjnBu+fwIDAQAB</em:signature>
</RDF:Description>
</RDF:RDF>

1.

其中 <RDF:Description about="urn:mozilla:extension:jlu_ff@jluopen.org">

對于firefox擴展必須使用 urn:mozilla:extension 為前綴(see:https://developer.mozilla.org/en/Extension_Versioning%2c_Update_and_Compatibility#Update_RDF_Format)

2.

updateInfoURL 是對新版本的介紹的url。在擴展需要更新時在更新面板中的右側(cè)起作用,例如:

在該更新信息文件中只接受如下標簽 <h1><h2><h3><p><ul><ol>,其他的均被忽略。

3 .

updateLink 為 xpi 擴展文件的url。如果需要使用 https:// 鏈接則不需要指定 updateHash 元素,如果使用http:// 這需要指定 updateHash ,這是為了保證xpi文件的完整性。(see: developer.mozilla.org/en/Extension_Versioning%2c_Update_and_Compatibility#Update_Hashes)

我們可以使用 CoreUtils for Windows (http://gnuwin32.sourceforge.net/packages/coreutils.htm) 套件中的 sha1sum 工具來或者hash串。例如:

其中 "8a9e3b724f68ffde45a72c9c13533cf7a1f10b80" 就是我們需要的串。另外對于updateHash,還要加上使用的sha算法,這里使用的sha1算法.

   <em:updateHash>sha1:8a9e3b724f68ffde45a72c9c13533cf7a1f10b80</em:updateHash>

4

將前文的 updatekey 添加 signature 到中,例如

   <em:signature>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDK426erD/H3XtsjvaB5+PJqbhj
               Zc9EDI5OCJS8R3FIObJ9ZHJK1TXeaE7JWqt9WUmBWTEFvwS+FI9vWu8058N9CHhD
               NyeP6i4LuUYjTURnn7Yw/IgzyIJ2oKsYa32RuxAyteqAWqPT/J63wBixIeCxmysf
               awB/zH4KaPiY3vnrzQIDAQAB</em:signature>

然后再用 McCoy 簽發(fā) update.xml (當 update.xml 每次改變時都需要簽發(fā)一次)

 

選擇 update.xml 簽發(fā),簽發(fā)之后 update.xml格式變?yōu)?

<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
         xmlns:NC="http://home.netscape.com/NC-rdf#"
         xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<RDF:Description RDF:about="rdf:#$nwoYG2"
                   em:version="0.1.0">
    <em:targetApplication RDF:resource="rdf:#$qwoYG2"/>
</RDF:Description>
<RDF:Description RDF:about="rdf:#$qwoYG2"
                   em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                   em:minVersion="1.5.*"
                   em:maxVersion="3.*"
                   em:updateLink="http://www.jluopen.org/jlufirefox/jlu_ff_0.1.0.xpi"
                   em:updateHash="sha1:8a9e3b724f68ffde45a72c9c13533cf7a1f10b80"
                   em:updateInfoURL="http://www.jluopen.org/jlufirefox/jlu_ff_0.1.0.xhtml" />
<RDF:Description RDF:about="urn:mozilla:extension:jlu_ff@jluopen.org"
                   em:signature="MIGTMA0GCSqGSIb3DQEBDQUAA4GBAIwLFX3/IHk6BhKylrMu1W4M64AlqcdH1ObFploIxlvYV4Adf0HlEg+mUrtlX6DfHXk5dfjB4pB63RTlkndNDu5YCuwO/8Jvld3fHsZcgK8zN9gZyOZzsAVjwZIVOQ+IJNjpgFdxK6pahgZYjF9vmIbN/HorFGy0oaSsMOUfovIX">
    <em:updates RDF:resource="rdf:#$mwoYG2"/>
</RDF:Description>
<RDF:Description RDF:about="rdf:#$xwoYG2"
                   em:version="0.1.1">
    <em:targetApplication RDF:resource="rdf:#$AwoYG2"/>
</RDF:Description>
<RDF:Seq RDF:about="rdf:#$mwoYG2">
    <RDF:li RDF:resource="rdf:#$nwoYG2"/>
    <RDF:li RDF:resource="rdf:#$xwoYG2"/>
</RDF:Seq>
<RDF:Description RDF:about="rdf:#$AwoYG2"
                   em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                   em:minVersion="1.5.*"
                   em:maxVersion="3.*"
                   em:updateLink="http://www.jluopen.org/jlufirefox/jlu_ff_0.1.1.xpi"
                   em:updateHash="sha1:8a9e3b724f68ffde45a72c9c13533cf7a1f10b80"
                   em:updateInfoURL="http://www.jluopen.org/jlufirefox/jlu_ff_0.1.1.xhtml" />
</RDF:RDF>

對于其他的標簽同 install.rdf 一樣。

如果有版本變動,只需要添加新的 <RDF:li> 。。。 </RDF:li> 內(nèi)容即可。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
firefox 插件版本不兼容的解決辦法(如何修改火狐插件不兼容問題)
在Firefox3中使用百度搜藏插件的DIY方法
關(guān)于Firefox3.0rc2迅雷的瀏覽器支持設置
修改Firefox擴展,支持高版本Firefox瀏覽器
Hello World
如何讓1.5的擴展使用在2.0甚至3.0上?
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服