• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我的玻璃盒子

            【原創】我的Firefox插件開發之旅(8)——插件的安裝與更新

            (原創作品,轉載請注明出處。)

            插件寫好了,下面就該做一個安裝包了。最好再提供更新功能,以便在插件有更新的時候,及時通知用戶進行插件更新。

            我們開發的時候,直接將生成的dll丟到Firefox安裝目錄下的plugins目錄就可以工作了,但是你如何說服讓用戶來手動完成這件事情?估計很難。因此,提供一個安裝包,可能是最好的選擇。用戶只需要點幾下鼠標就可以完成插件的安裝了。

            不過到寫這篇文章的時候,我還不清楚怎么讓安裝包經過Mozilla的驗證,因為沒有經過驗證的插件,在安裝的時候會出現“僅安裝信任作者的附加組件”提示對話框,提示用戶僅安裝受信任作者的插件。如果有人知道怎么去掉這個警告對話框,還望不吝賜教。

            最最簡單的插件安裝包在這篇文章中開頭處寫的很清楚了:https://developer.mozilla.org/en/Shipping_a_plugin_as_an_extension

            安裝包的目錄結構:

            install.rdf
            plugins/
                pluginlib.dll
                plugintypes.xpt

            其中xpt文件可選。install.rdf的內容為:

            <RDF xmlns=" xmlns:em=">
              <Description about="urn:mozilla:install-manifest">
                <em:id>mypluginid@myplugin.com</em:id>
                <em:name>My Plugin</em:name>
                <em:version>1.0</em:version>
                <em:targetApplication>
                  <Description>
                    <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
                    <em:minVersion>1.5</em:minVersion>
                    <em:maxVersion>3.0.*</em:maxVersion>
                  </Description>
                </em:targetApplication>
              </Description>
            </RDF>

            將上面內容安裝目錄結構用zip格式壓縮,將后綴名改為xpi就OK了。

            但是我們要做得事情遠不止這些:

            • 如何提供插件的更新自動通知?
            • 如何將擴展和插件捆綁在一起讓用戶安裝?(因為可能你不僅僅要安裝插件,還希望在用戶的FF工具欄或菜單上添加一些擴展功能)
            • 如何對插件進行簽名?
            • 如何發布你的插件和擴展,以便讓更多人知曉?

            要做的事情還很多。那么我們就一個個來研究吧。

            一、如何提供插件的更新自動通知?

            關于Install manifest(即install.rdf)文件內容,Mozilla有篇很詳細的文章:https://developer.mozilla.org/en/Install.rdf,可以進行參考。

            其中有個節點名稱是:updateURL。用這個標簽包含一個可查詢更新信息的URL連接,今后當FF在查詢插件是否有更新時,會到你指定的這個URL上去查詢。

            這個URL可以是一個cgi程序、servlet、asp(x),也可以是一個固定的rdf文件鏈接。另外文章中也提到了另外一種辦法:如果你沒有提供updateURL,FF的附加組件管理器會向addons.mozilla.org發送請求,當你上傳了一個新版本的插件或者通過作者接口(author interface)更改了兼容性參數,一個更新的manifest文件將會被自動產生。另外,Mozilla建議updateURL使用https而非http,否則你應該提供updateKey(可以用McCoy生成)。

            那么,負責更新的rdf怎么編寫呢?你可以參考這篇文章:https://developer.mozilla.org/en/Extension_Versioning%2c_Update_and_Compatibility#Update_RDF_Format。由于文章中寫的很清晰,并且提供了詳細的例子代碼,這里我就不廢話了。

            二、如何將擴展和插件捆綁在一起讓用戶安裝?

            這個很簡單。之前的章節我們已經做過一個簡單的Extension安裝包,如果想附加一個插件的話,只需要和chrome的同級目錄下新建一個plugins目錄,然后將dll及相關文件放在里面,最后一起打包即可。

            當在FF中安裝此xpi時,FF會將Extension和Plugin解壓到FF的Profiles目錄下。插件和擴展即可生效。

            注意這里與我們之前將插件dll放在FF安裝目錄下的plugins目錄下有些不同(至少位置不同),FF同樣能夠正確地識別我們的插件。另外Mozilla也推薦做成安裝包,這樣,在用戶卸載組件的時候,可以同時將Extension和Plugin都卸載掉。

            三、如何對插件進行簽名? 

            很抱歉,還沒找到答案……

            四、 如何發布你的插件和擴展,以便讓更多人知曉?

            首先需要在Mozilla網站上注冊一個賬號(需要提供合法E-mail,因為要激活)。

            登錄后,在Mozilla 附加組件首頁上你會看到一個“開發者工具”的鏈接。進入后,會有明顯的導航鏈接,如“提交附加組件”。通過這個頁面,按照向導,你就可以將你的插件發布出來了。剩下的事,就是宣傳咯,呵呵。

            OK,《我的Firefox插件開發之旅》系列文章就先到這里。將來我也許還會寫一些關于編寫FF的Extension和Plugin方面的技術細節文章。看心情吧,呵呵。

            posted on 2008-11-14 13:57 深藍色系統 閱讀(10667) 評論(4)  編輯 收藏 引用 所屬分類: Firefox開發

            評論

            # re: 我的Firefox插件開發之旅(8)&mdash;&mdash;插件的安裝與更新 2008-11-19 16:46 大笨貓

            贊一個.
            博主能否把這些文章和自己開發FF插件的經驗整理成電子書.
            這方面的中文資料實在太少了.  回復  更多評論   

            # 呵呵,我幫作者把文章做成電子書 2009-01-15 19:04 loen

            http://122.136.32.26/d/fid/8e457e1399fc1530986ea6f23cb0f39d95baedfa4baa0000/sid/e828f90b3f9eb215c7ebb7/fn/%E6%88%91%E7%9A%84Firefox%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E4%B9%8B%E6%97%85.chm  回復  更多評論   

            # re: 【原創】我的Firefox插件開發之旅(8)&mdash;&mdash;插件的安裝與更新 2009-12-08 18:29 zxca

            三、如何對插件進行簽名?

            很抱歉,還沒找到答案……

            嘻嘻,我幫你找到了:
            https://developer.mozilla.org/en/Signing_a_XPI  回復  更多評論   

            # re: 【原創】我的Firefox插件開發之旅(8)&mdash;&mdash;插件的安裝與更新 2009-12-11 15:30 ,

            20.5萬,金山軟件Office插件開發大賽 任務懸賞金額:205000元 時間:79天 任務地址:http://www.zhubajie.com/task/iv/170046  回復  更多評論   

            導航

            <2008年1月>
            303112345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            統計

            常用鏈接

            留言簿(75)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            欧美性猛交xxxx免费看久久久| 久久久无码精品亚洲日韩蜜臀浪潮 | 国产精品一区二区久久国产| 无码人妻少妇久久中文字幕蜜桃| 99精品久久精品一区二区| 天天爽天天狠久久久综合麻豆| 久久久一本精品99久久精品88| 99久久精品国产一区二区蜜芽| 国产成人精品久久亚洲高清不卡 | 久久精品中文字幕第23页| 日产精品久久久久久久| 久久久久成人精品无码中文字幕| 国产精品成人99久久久久| 国内精品久久久久影院老司| 精品蜜臀久久久久99网站| 欧美与黑人午夜性猛交久久久| 久久人人爽人人爽人人片av麻烦 | 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久精品无码专区免费东京热| 久久青青草原综合伊人| 无码8090精品久久一区| 国产精品9999久久久久| 久久久久国产一区二区| 人妻丰满AV无码久久不卡| 国产亚洲成人久久| 亚洲国产综合久久天堂| 久久久无码精品亚洲日韩按摩| 久久激情五月丁香伊人| 国产99久久精品一区二区| 久久久国产亚洲精品| 久久福利青草精品资源站| 伊人久久大香线蕉综合热线| 91视频国产91久久久| 免费精品久久天干天干| 精品久久久久久国产三级| 蜜臀av性久久久久蜜臀aⅴ| 久久精品国产亚洲7777| 久久精品国产影库免费看| 亚洲午夜久久久影院| 久久久久久久综合狠狠综合| 国产精品午夜久久|