Firefox插件開發學習總結


2018.06.14

    我們小組最初只准備開發運行在google上的知乎插件,但我們經過調研發現還有一大部分用戶是使用的火狐瀏覽器,所以我們也准備制作火狐插件。以下是我學習了部分火狐插件制作知識后的總結。

    在官網上了解到,火狐的Extension和Plugin是兩種概念的東西:

    Extension就是一個zip包,里面有規定的一些必要文件。這個可以下載幾個插件看一下他們的目錄結構就好了。我下載了一個 QuickNote,看了一下,主要包括一個install.rdf(安裝包相關信息和文件資源路徑等配置)、chrome.manifest(設置各種XUL文件路徑以及其他的一些資源文件路徑)、chrome文件夾(里面放着插件的所有源文件),不過chrome文件夾里面的文件我還沒有過多研究。

    Plugin好像是另外一碼事了,在Mozilla Developer Center的Plugin開發介紹文中有這么一句:Plugins are different from extensions, which modify or enhance the functionality of the browser itself. Plugins are also different from search plugins, which plug additional search engines in the search bar. (插件與擴展不同,它更改或者改善了瀏覽器自身的功能。插件與搜索插件又不同,搜索插件在搜索工具欄上添加了額外的搜索引擎。)

    我的理解是,插件可以讓你在FF中使用自己的View來展示、用自己編寫的二進制文件來做某些事情,不僅僅是利用FF自身支持的一些特性和功能。而擴展相對來說就不需要這些東西,只利用FF的開發API就好了。

    通過研究別人寫的Extension,里面有很多js、css、images、html,這些還容易理解,但是多了一些后綴名為xul的文件。看來想開發Extension,這個文件需要好好研究一下。因此,我明天的學習計划就是搞清楚XUL是什么以及看懂它。

2018.06.15

    什么是XUL?這個鏈接給出了詳細的介紹:http://www.xulplanet.com/tutorials/whyxul.html

    看完后,我知道了XUL原來是一個支持多種WEB技術的、基於XML的界面開發語言。它既可以在遠程執行,也可以安裝到本地執行。

    在XUL中內置了很多界面元素,如菜單、按鈕、分頁等等,這樣就不需要自己編寫很多JS來維護和控制很多界面元素了。而且,這些界面是按照當時的OS外觀來展現的,比如同一個按鈕,在MacOS上和Windows上看起來就不一樣。另外XUL也允許自己使用JS和CSS來定制自己的個性化界面。總之一句話,XUL的主要作用就是用來展現Extension的用戶交互界面的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM