<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    firefox擴(kuò)展開發(fā)技術(shù)

    Posted on 2008-09-02 01:27 leekiang 閱讀(583) 評論(0)  編輯  收藏 所屬分類: firefox
    1,XPCOM

    XPCOM(Cross Platform Component Object Model)是一種跨平臺(tái)組件模型,是Mozilla技術(shù)的核心。其原理與微軟的COM技術(shù)類似,但與COM不同的是,XPCOM是一種跨平臺(tái)技術(shù),并支持多種語言綁定(Language Bindings)。也就是說,我們可以使用C++、JAVA、JavaScript、Python、Ruby、Perl等語言來編寫組件。而XPCOM的接口(Interface)是用一種叫做XPIDL的IDL(Interface Description Language)來定義的。1

    XPCOM 自身提供了一套核心的組件和類,用于諸如內(nèi)存管理,線程,基本數(shù)據(jù)結(jié)構(gòu)(strings, arrays, variants)等 。但是大部分的XPCOM組件并不是這個(gè)核心庫提供的,而是由很多第三方的平臺(tái)(例如Gecko或者Necko)提供,或者由一個(gè)應(yīng)用,甚至一個(gè)擴(kuò)展提供。

    2,RDF

    教程http://www.w3school.com.cn/rdf/

    3,開發(fā)插件實(shí)在是很痛苦的一件事情,因?yàn)樗枰玫紽irefox的chrome系統(tǒng),而每次更新了代碼之后,都需要重新載入chrome才能起作用。 一般情況下要重啟chrome就需要重新啟動(dòng)firefox,還好有人已經(jīng)發(fā)現(xiàn)這種痛苦,所以開發(fā)了一個(gè)Extension Developer Manager,里面提供了好幾個(gè)工具,用的最多的是reload chrome,用來在不重啟firefox的情況下,重新載入chrome,第二個(gè)是javascript shell,他可以訪問任意一個(gè)當(dāng)前的firefox窗口。而要完成插件開發(fā),一般還要用到Console,因?yàn)楹芏嗾{(diào)試信息都需要通過這看,如果沒這玩 意,那估計(jì)每次都得用alert了。至于DOM Inspector一般用不上,因?yàn)槿绻阋骻reesemonkey那樣,獲取當(dāng)前頁面的HTML DOM的話,一般都只能通過事件來實(shí)現(xiàn),然后hack到她的appcontent里面,這東西在DOM Inspector里面沒有,所以,你通過這種方式修改了DOM樹,通過DOM Inspector是看不出來的,而為了驗(yàn)證你有沒有修改成功,現(xiàn)在我的方法就是靠javascript shell。
    ??????? 關(guān)于DOM,我搞了足足兩天,才算搞出個(gè)所以然來,由于firefox是用XUL寫的,而XUL也定義了DOM,所以,一般情況下你在擴(kuò)展里頭,或者 javascript shell里面通過document獲取的僅僅是XUL的DOM,要獲取browser里面的DOM,我現(xiàn)在探索出來的有兩種,一種是 greesemonkey那樣,用事件,每次都監(jiān)察DOMContentLoad事件,這個(gè)方法很危險(xiǎn),例如如果一個(gè)網(wǎng)頁他有多個(gè)frame,那么這個(gè)事 件就會(huì)發(fā)生多次,而由于greesemonkey只是在加載的時(shí)候用user script對DOM做一次處理,所以這個(gè)問題不是特別大。不過,如果我要做的是能夠多次操作DOM樹,所以,就必須要得到當(dāng)前窗口的當(dāng)前正在顯示的 DOM,為了獲取這冬冬,我足足用了2天,google了所有能想到的關(guān)鍵詞,把XUL planet和MDC上面的文章都翻了個(gè)遍,最后終于在moznet的irc上面問到人了,原來要得到這東西根本不需要用事件,只要通過 content.document就可以得到了。實(shí)在不容易啊。

    上面全部抄自http://blog.csdn.net/nickcen/archive/2006/07/15/923252.aspx

    4,用7zip壓縮為zip,然后改后綴為xpi


    系列文章http://hi.baidu.com/lovemyselfbest/blog/item/0bf363ee1ed5e1feb3fb9546.html

    http://www.blueidea.com/tech/web/2007/4979.asp

    基于 Mozilla 的擴(kuò)展開發(fā)

    http://xuming.net/2008/07/firefox-extension-2.html

    http://www.blueidea.com/tech/web/2007/4979.asp


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲人成网站色7799| 免费无码看av的网站| 乱淫片免费影院观看| 久久精品国产亚洲AV久| 国产AV无码专区亚洲A∨毛片| 国产一区二区三区在线免费| 免费人成网站在线观看10分钟| 在线免费观看伊人三级电影| 成年免费大片黄在线观看com| 亚洲男人天堂2018av| 亚洲乱码中文论理电影| 亚洲人成网站在线播放影院在线| 久久亚洲中文字幕精品一区| 国产国产人免费视频成69大陆 | 免费人成网站在线播放| 最近免费中文字幕视频高清在线看| 污视频在线免费观看| 国产一区二区免费| 免费人成在线观看视频高潮| 黄色视屏在线免费播放| 一区二区三区在线观看免费| 美女啪啪网站又黄又免费| 亚洲av成人无码网站…| 亚洲av永久中文无码精品综合| 中文字幕无码精品亚洲资源网久久| 亚洲国产成人手机在线电影bd| 亚洲国产av一区二区三区丶| 亚洲国产精品张柏芝在线观看| 亚洲网站视频在线观看| 亚洲美免无码中文字幕在线| 亚洲欧洲日本国产| 亚洲av无码久久忘忧草| 国产精品亚洲综合久久 | 最近2019中文免费字幕| 曰批全过程免费视频在线观看| 无码国产精品一区二区免费式直播| 国产精品成人免费福利| 成年美女黄网站18禁免费| 成人国产mv免费视频| 亚洲中文字幕丝袜制服一区| 亚洲精品无码鲁网中文电影|