• <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插件開發之旅(3)——我的第一個擴展

            (原創作品,轉載請注明鏈接)

            簡單知道了XUL,迫不及待地想立即編寫一個插件,哪怕什么事情都不做也好。O(∩_∩)O

            通過這個頁面https://developer.mozilla.org/en/Building_an_Extension,可以找到編寫一個插件必須要做得一些事情,寫的很清楚。最后產生的目錄和文件結構是這個樣子:
            install.rdf
            chrome.manifest
            chrome
              |--content
                  |--overlay.xul (我準備在這里編寫代碼,在FF的工具欄上添加一個按鈕)
              |--locale
                  |--en-US
                      |--sample.dtd
                  |--zh-CN
                      |--sample.dtd
                  |--zh-TW
                      |--sample.dtd
              |--skin
                  |--classic
                      |--sampleicon.png
                      |--smallicon.png
                      |--default.css (界面顯示的樣式表,今后可能會用到)


            上面文件中的install.rdf、chrome.manifest基本上用例子中的就好了,dtd文件里面是界面文字,這個可以模仿其他插件編寫。
            overlay.xul我準備添加一段代碼,用來在FF工具欄上添加一個按鈕。skin下面的png是準備在工具欄上添加的按鈕的圖標。

            OK,把上面整個目錄用zip打個包,改后綴名為xpi,拖放到FF3中,提示尚未驗證作者、是否繼續安裝。這個先不管它,以后再研究。安裝以后,重啟FF3,哈哈,寫的第一個Extension成功安裝了!只不過overlay.xul里面什么都沒寫,所以還沒有視覺上的成就感。下面開始添加overlay.xul中的代碼。

            怎么在工具欄上添加按鈕呢?感謝Mozilla提供的文檔,專門有一篇文章是講這個地:https://developer.mozilla.org/en/Creating_toolbar_buttons。文章里面講的非常清楚,我這里就不廢話了。不過有兩點需要注意一下:
            1、樣式表中的ID和toolbarbutton的id一定要保持一致;
            2、按鈕的label和tooltiptext可以直接添加文字,但如果使用了中文,有可能會顯示亂碼(至少在我的FF3上是這樣);
            3、按鈕的圖標一定要大小兩種(24x24、16x16)都提供;
            4、label和tooltiptext可以使用dtd中定義的文字,但必須注意:dtd文件必須存為UTF-8編碼,否則會導致按鈕顯示不出來!

            在FF3的定制工具欄中,有圖標,但下方沒有文字,好像是我哪里忘記添加文字了,一會兒看看去……

            好了,我的第一個FF插件就寫好了,不過現在只是在工具欄上添加了一個按鈕而已,什么事情都沒做,下一次我們添加一些行為給它。

            以下附上幾個關鍵文件的內容:

            一、install.rdf


            <?xml version="1.0"?>
            <RDF xmlns=" xmlns:em=">
                <Description about="urn:mozilla:install-manifest">
                    <em:id>{859606AC-AFFE-4691-82C5-FA0148A7E2D4}</em:id>
                    <em:version>1.0</em:version>
                    <em:type>2</em:type>
                    <em:name>MeetMePlus</em:name>
                    <em:description>Anywhere, anytime to starting a conferencing</em:description>
                    <em:creator>G-NET</em:creator>
                    <em:iconURL>chrome://meetmeplus/skin/gnet_32.png</em:iconURL>
                    <em:homepageURL>
            http://www.meetmeplus.com/</em:homepageURL>
                    <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>

            二、chrome.manifest

            overlay    chrome://browser/content/browser.xul    chrome://meetmeplus/content/overlay.xul
            content    meetmeplus    chrome/content/
            style    chrome://global/content/customizeToolbar.xul    chrome://meetmeplus/skin/default.css
            skin    meetmeplus    classic/1.0    chrome/skin/classic/
            locale    meetmeplus    zh-CN    chrome/locale/zh-CN/

            三、overlay.xul

            <?xml version="1.0"?>
            <!DOCTYPE overlay SYSTEM "chrome://meetmeplus/locale/overlay.dtd">
            <?xml-stylesheet href="chrome://meetmeplus/skin/default.css" type="text/css"?>

            <overlay id="mmp-overlay" xmlns=">
                <!-- Firefox toolbar -->
                <toolbarpalette id="BrowserToolbarPalette">
                    <toolbarbutton id="meetmeplus-button" type="menu-button"
                        class="toolbarbutton-1 chromeclass-toolbar-additional">
                        <menupopup>
                            <menuitem label="&mmp.gotohome;" tooltiptext="&mmp.gotohome.tooltip;" image="chrome://meetmeplus/skin/option_16.png" class="menuitem-iconic"/>
                            <menuseparator/>
                            <menuitem label="&mmp.option;" tooltiptext="&mmp.option.tooltip;" image="chrome://meetmeplus/skin/option_16.png" class="menuitem-iconic"/>
                        </menupopup>
                    </toolbarbutton>
                </toolbarpalette>
            </overlay>

            四、overlay.dtd

            <!ENTITY mmp.gotohome "訪問G-NET MeetMePlus">
            <!ENTITY mmp.gotohome.tooltip "訪問G-NET MeetMePlus網站">
            <!ENTITY mmp.option "選項">
            <!ENTITY mmp.option.tooltip "自定義G-NET MeetMePlus的工作方式">

            posted on 2008-11-08 00:55 深藍色系統 閱讀(13972) 評論(5)  編輯 收藏 引用 所屬分類: Firefox開發

            評論

            # re: 【原創】我的Firefox插件開發之旅(3)&mdash;&mdash;我的第一個擴展 2009-09-21 16:13 433

            看了你的,等于沒看,好多東西銜接不上
            希望你以后能說的清楚些  回復  更多評論   

            # re: 【原創】我的Firefox插件開發之旅(3)&mdash;&mdash;我的第一個擴展 2010-04-09 19:20 你是白癡

            你的內容看了等于白看,全是讓看幫助  回復  更多評論   

            # re: 【原創】我的Firefox插件開發之旅(3)&mdash;&mdash;我的第一個擴展 2010-04-30 17:22 firefox007

            作者太懶了。  回復  更多評論   

            # re: 【原創】我的Firefox插件開發之旅(3)&mdash;&mdash;我的第一個擴展 2010-12-08 18:34 plaris

            是樓上的太懶了,哈哈。  回復  更多評論   

            # re: 【原創 2014-06-25 19:10 dfs

            sdf  回復  更多評論   

            導航

            <2009年8月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            統計

            常用鏈接

            留言簿(75)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            996久久国产精品线观看| 国产99久久久久久免费看| 精品久久久久久国产91| 9999国产精品欧美久久久久久| 一级做a爱片久久毛片| 久久精品无码一区二区日韩AV| 久久婷婷五月综合国产尤物app| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 欧洲成人午夜精品无码区久久 | 亚洲乱码日产精品a级毛片久久| 热99RE久久精品这里都是精品免费 | 免费国产99久久久香蕉| 亚洲精品成人网久久久久久| 午夜欧美精品久久久久久久 | AA级片免费看视频久久| 国产福利电影一区二区三区久久久久成人精品综合 | 99久久国产综合精品五月天喷水| 一级做a爰片久久毛片免费陪| 99精品久久精品| 久久热这里只有精品在线观看| 久久久久国产精品熟女影院| 欧美精品福利视频一区二区三区久久久精品 | 中文成人久久久久影院免费观看| 国产成人精品白浆久久69| 久久久久久亚洲精品无码| 久久精品国产精品亚洲毛片| 久久久久久久免费视频| 91精品久久久久久无码| 亚洲日韩中文无码久久| 日韩久久久久中文字幕人妻| 国产成人精品久久一区二区三区| 99久久99久久精品国产片果冻| 青青国产成人久久91网| 综合网日日天干夜夜久久| 久久久久亚洲AV无码专区桃色| 久久99中文字幕久久| 日韩精品久久久久久免费| 久久这里的只有是精品23| 青青青国产精品国产精品久久久久| 久久精品国产亚洲av高清漫画 | 久久久久久久99精品免费观看|