• <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>

            我的玻璃盒子

            【原創(chuàng)】我的Firefox插件開(kāi)發(fā)之旅(4)——XULRunner的一個(gè)例子

            上一節(jié)寫(xiě)了一個(gè)Extension,添加了一個(gè)按鈕在FF3的工具欄上。接下來(lái)我準(zhǔn)備在這個(gè)基礎(chǔ)上添加一個(gè)功能,點(diǎn)擊按鈕,讀取本地磁盤上一個(gè)文件的內(nèi)容,并顯示出來(lái)。怎么做呢?用Javascript嗎?因?yàn)槲易罱K的目標(biāo)是從服務(wù)器上下載文件,也可能會(huì)傳輸本地文件到服務(wù)器上,用Javascript訪問(wèn)本地文件有諸多限制,而且也無(wú)法完成復(fù)雜的功能。所以最好是能夠調(diào)用我編寫(xiě)的 DLL那就最好不過(guò)了。怎么做呢?還是在Mozilla網(wǎng)站上找找看吧。

            在Mozilla網(wǎng)站上看到,可以自己編寫(xiě)Component來(lái)完成一些自定義操作。需要首先安裝Gecko SDK(現(xiàn)在叫XULRunner SDK),Windows上有兩個(gè)版本,1.8是for FF1.5/2.0的,1.9是for FF3.0的,由于我機(jī)器上安裝的是FF3.0,那么就先下載1.9吧,與FF1.5/2.0兼容的問(wèn)題以后再說(shuō)。

            下載了XULRunner SDK 1.9,解壓到本地后,在環(huán)境變量里配置了PATH到xulrunner-sdk的bin目錄,以便可以在command prompt下直接運(yùn)行xulrunner.exe。OK,環(huán)境配置完畢,下面來(lái)個(gè)寫(xiě)個(gè)小例子吧。Mozilla提供了一個(gè)短小精悍的例子程序,在這里:https://developer.mozilla.org/en/Getting_started_with_XULRunner

            這篇文章一步一步教我們編寫(xiě)一個(gè)HelloWorld程序,寫(xiě)的很清楚。不過(guò)做完這個(gè)例子,我有幾個(gè)疑問(wèn):
            1、在上一節(jié)我們寫(xiě)的Extension中,chrome.manifest這個(gè)文件是放在根目錄的(與chrome目錄同級(jí)),為什么這里把它放在了chrome目錄里面呢?能否保持和Extension相同?我簡(jiǎn)單嘗試了一下,并修改了chrome.manifest里面content所指向的目錄,然后運(yùn)行了一下,什么都沒(méi)發(fā)生,沒(méi)有看到正常運(yùn)行時(shí)所彈出的對(duì)話框,看來(lái)還是解析不正確,是不是xulrunner必須要求chrome.manifest在chrome目錄下面呢?
            2、application.ini中App節(jié)的ID,和Extension的ID(通常是一個(gè)GUID)有無(wú)關(guān)聯(lián)呢?
            3、調(diào)用xulrunner.exe以后,會(huì)產(chǎn)生兩個(gè)目錄:extensions和updates,這兩個(gè)目錄是干什么用的呢?

            另外這里需要特別說(shuō)明一點(diǎn):在運(yùn)行xulrunner去執(zhí)行application.ini時(shí),千萬(wàn)不能丟掉.exe,即不能寫(xiě)/>xulrunner application.ini,必須是/>xulrunner.exe application.ini,否則會(huì)彈出couldn't parse的錯(cuò)誤提示,具體是什么原因我也不清楚。

            另外,這里還有一篇關(guān)于xulrunner的教程,解釋了一些概念性的東西:http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx

            寫(xiě)完這個(gè)例子,感覺(jué)方向好像不太對(duì),xulrunner好像主要還是做界面,怎么做組件呢?怎么訪問(wèn)本地磁盤文件、甚至系統(tǒng)注冊(cè)表?在Mozilla的開(kāi)發(fā)者頁(yè)面上又看到一個(gè)東東:XPCOM,開(kāi)頭的一段介紹文字是這樣的:

            XPCOM is a cross platform component object model, similar to Microsoft COM. It has multiple language bindings, letting the XPCOM components be used and implemented in JavaScript, Java, and Python in addition to C++. Interfaces in XPCOM are defined in a dialect of IDL called XPIDL.

            XPCOM itself provides a set of core components and classes, e.g. file and memory management, threads, basic data structures (strings, arrays, variants), etc. The majority of XPCOM components is not part of this core set and is provided by other parts of the platform (e.g. Gecko or Necko) or by an application or even by an extension.

            大概的意思是說(shuō)XPCOM類似于微軟的COM組件概念,它可以定義一些接口,可以在JS、Java、Python以及C++中使用。哈哈,看來(lái)這個(gè)才是我想要的東西。OK,那接下來(lái)我就來(lái)研究一下這個(gè)東東吧。下一節(jié)爭(zhēng)取能完成我一開(kāi)始提到的功能。

            posted on 2008-11-10 11:54 深藍(lán)色系統(tǒng) 閱讀(16463) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Firefox開(kāi)發(fā)

            評(píng)論

            # re: 我的Firefox插件開(kāi)發(fā)之旅(4)&mdash;&mdash;XULRunner的一個(gè)例子 2009-07-09 13:57 tmy13

            根據(jù)博主寫(xiě)的也試著建立了個(gè)hello world的項(xiàng)目,不過(guò)有點(diǎn)疑問(wèn)的是雖然能成功編譯了,也在firefox下運(yùn)行了。不過(guò)到底如何才能使它成為一個(gè)firefox的插件呢?這個(gè)xulrunner到底是何用處的,想請(qǐng)博主指點(diǎn)下,謝謝了  回復(fù)  更多評(píng)論   

            # re: 【原創(chuàng)】我的Firefox插件開(kāi)發(fā)之旅(4)&mdash;&mdash;XULRunner的一個(gè)例子 2016-06-12 23:08 偉迪

            您好 我這邊調(diào)用的是xulrunner-41.0b9.en-US.win64.sdk,請(qǐng)問(wèn)這個(gè)需要怎么調(diào)用;1.8版本沒(méi)有問(wèn)題  回復(fù)  更多評(píng)論   

            導(dǎo)航

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            統(tǒng)計(jì)

            常用鏈接

            留言簿(75)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久99国产精品一区二区| 久久99精品国产一区二区三区| 久久婷婷久久一区二区三区| 精品精品国产自在久久高清| 精品久久久久久综合日本| 久久99精品国产99久久| 久久久久人妻精品一区三寸蜜桃| 久久精品免费大片国产大片| 久久中文字幕无码专区| 久久久亚洲欧洲日产国码是AV | 久久久噜噜噜久久中文字幕色伊伊| 久久WWW免费人成—看片| 日本久久中文字幕| 久久人人妻人人爽人人爽| 中文字幕亚洲综合久久| 色综合久久夜色精品国产| 久久精品中文无码资源站| 国产精品VIDEOSSEX久久发布| 久久久久亚洲AV片无码下载蜜桃 | 成人久久久观看免费毛片| 激情综合色综合久久综合| 伊人久久精品无码av一区 | 精品久久久久久无码不卡| 久久精品麻豆日日躁夜夜躁| 久久久久婷婷| 久久久久亚洲AV无码永不| 日韩久久无码免费毛片软件| 久久国产免费观看精品3| 亚洲色欲久久久久综合网| 久久精品亚洲一区二区三区浴池| 亚洲国产精品狼友中文久久久| 国内精品九九久久久精品| 狠狠色丁香婷婷久久综合| 亚洲国产精品久久| 久久久久久久人妻无码中文字幕爆| 久久人人爽人人爽人人片AV东京热| 精品综合久久久久久97超人 | 久久久久九九精品影院| 国产欧美久久一区二区| 久久久久久久亚洲Av无码| 国产精品久久新婚兰兰 |