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

            飄雪

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              31 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

                我平時(shí)上班時(shí)喜歡在線(xiàn)聽(tīng)個(gè)收音機(jī)。當(dāng)然了,網(wǎng)頁(yè)版的在線(xiàn)收音機(jī)不考慮,因?yàn)榭傄蜷_(kāi)一個(gè)網(wǎng)頁(yè),經(jīng)常一不小心就關(guān)了。以前用過(guò)龍卷風(fēng)收音機(jī),但是經(jīng)常關(guān)閉程序之后進(jìn)程不結(jié)束,而且它自帶的電臺(tái)地址都不公開(kāi),看著心煩。作為一個(gè)firefox的忠實(shí)用戶(hù),自然希望用一個(gè)firefox擴(kuò)展來(lái)實(shí)現(xiàn)收音機(jī)功能。在Firefox Add-ons網(wǎng)站上找了找,還真有這么一個(gè)插件,其中的收音機(jī)功能能夠滿(mǎn)足我的需求,但它帶了太多的私貨,有天氣預(yù)報(bào)、rss閱讀,尤其是帶了一個(gè)搜索框,還不能關(guān)掉。本來(lái)firefox已經(jīng)自帶了一個(gè)搜索框,我裝的google toolbar上也有一個(gè),再來(lái)一個(gè)搜索框,整個(gè)界面沒(méi)法看了,最終還是放棄了這個(gè)插件。
                身為一個(gè)刀客...咳,錯(cuò)了,身為一個(gè)Geeker,這種情況下自然別無(wú)選擇,只好自己動(dòng)手了。雖然以前并沒(méi)有做過(guò)firefox的擴(kuò)展,不過(guò)我想這應(yīng)該難不倒一個(gè)Geeker。
                首先自然是來(lái)到mozilla的關(guān)于擴(kuò)展/插件開(kāi)發(fā)的官方網(wǎng)站Extension development,文檔不錯(cuò),大致看了看,很簡(jiǎn)單嘛。說(shuō)起來(lái)就是用XUL定義界面,用javascript響應(yīng)事件,然后用幾個(gè)配置文件把這些串起來(lái)。XUL可以現(xiàn)學(xué)現(xiàn)賣(mài),不行咱還可以從別人的擴(kuò)展抄嘛,javascript自然不在話(huà)下,雖然很久沒(méi)看過(guò)了,寫(xiě)幾個(gè)簡(jiǎn)單函數(shù)那還不是小菜。網(wǎng)站上有現(xiàn)成的Tutorials,不到半小時(shí),一個(gè)界面雛形連帶基本的事件響應(yīng)就出爐了。界面很簡(jiǎn)單,播放、停止、音量按鈕各一個(gè),再加一個(gè)選臺(tái)框和一個(gè)信息顯示欄。
                 接下來(lái)就是收音機(jī)功能了。思路照樣也很簡(jiǎn)單,用javascript創(chuàng)建一個(gè)Media Player對(duì)象,然后用這個(gè)對(duì)象播放mms流就可以啦,核心代碼就幾行:

            var url ="";
            var wmp = new window.GeckoActiveXObject('{6BF52A52-394A-11d3-B153-00C04F79FAA6}');
            wmp.url 
            = url;

                寫(xiě)完收工,馬上測(cè)試,我靠,見(jiàn)鬼了,GeckoActiveXObject出錯(cuò),錯(cuò)誤是:uncaught exception: [Exception... "Unable to create an instance of the desired COM classCOM Error Result = 80004005"  nsresult: "0x80570039 (NS_ERROR_XPC_COM_CREATE_FAILED)" 。又仔細(xì)檢查了一遍代碼,沒(méi)錯(cuò)呀,應(yīng)該就是這么寫(xiě)的。
                這下可真成卡門(mén)了,我迷迷糊糊覺(jué)得這應(yīng)該跟權(quán)限、策略設(shè)置什么的有點(diǎn)關(guān)系,可是不知道從哪兒下手,google上翻了一圈,也沒(méi)找到點(diǎn)建設(shè)性的意見(jiàn)。沒(méi)辦法,又打開(kāi)我裝的其他擴(kuò)展,看別人是怎么搞的,其中一個(gè)跟我想要的功能類(lèi)似的一個(gè)擴(kuò)展,光js文件就有4萬(wàn)多行,UltraEdit打開(kāi)都一頓一頓的,也看了一遍,還挑出其中的代碼測(cè)了一下,都不行。在這兒就卡了一下午,只好翻別人的插件,希望能找到點(diǎn)頭緒。最后還真翻出來(lái)點(diǎn)東西,在一個(gè)插件下發(fā)現(xiàn)有components目錄,里面有兩個(gè)文件,npmozax.dll和nsAxSecurityPolicy.js,從文件名看起來(lái)似乎跟安全策略有關(guān),打開(kāi)看了看,沒(méi)啥特別的,一不做二不休,把整個(gè)components目錄拷到自己的目錄下,試了試,嘿嘿,行了。真是柳暗花明又一村啊,我覺(jué)得關(guān)于安全策略之類(lèi)的mozilla的網(wǎng)站上應(yīng)該會(huì)講到吧,也許是我不仔細(xì),沒(méi)有找到,但是居然用拷貝兩個(gè)文件的方法解決了,具體原理以后有時(shí)間再看吧,先能用再說(shuō)。
                最后,秀一下我純手工打造的收音機(jī),雖然目前難看了一點(diǎn),但是能用,以后有空再改得好看點(diǎn)
             

                今天光搞這個(gè)該死的權(quán)限就用了一天,工作進(jìn)度落下一大截,明天一定好好工作。

            posted on 2009-01-08 23:54 飄雪 閱讀(2135) 評(píng)論(8)  編輯 收藏 引用

            Feedback

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 00:47 鬼話(huà)
            我也喜歡在線(xiàn)聽(tīng)收音機(jī),樓主的DIY精神很嘉,雖然花費(fèi)一天時(shí)間,也很值得,期待下篇  回復(fù)  更多評(píng)論
              

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 09:06 飄雪
            @鬼話(huà)
            下一步打算改得好看一點(diǎn),操作便利一點(diǎn)  回復(fù)  更多評(píng)論
              

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 10:37 phinecos
            沒(méi)用到XPCOM,還得努力的,呵呵  回復(fù)  更多評(píng)論
              

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 10:42 飄雪
            @phinecos
            這只是一個(gè)簡(jiǎn)單插件,滿(mǎn)足自己的基本需求,以后說(shuō)不定能用上  回復(fù)  更多評(píng)論
              

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 10:48 浪跡天涯
            呵 firefox就該這么折騰...有時(shí)間好好向樓主學(xué)學(xué)  回復(fù)  更多評(píng)論
              

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 10:58 飄雪
            @浪跡天涯
            我這也是瞎折騰,正好也了解一下firefox的擴(kuò)展體系  回復(fù)  更多評(píng)論
              

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 11:17 飄過(guò)
            bs一下你的搜索引擎  回復(fù)  更多評(píng)論
              

            # re: 自己動(dòng)手寫(xiě)firefox擴(kuò)展(1) 2009-01-09 11:28 飄雪
            @飄過(guò)
            啥搜索引擎?你是說(shuō)我的firefox布局,是bs我的搜索引擎設(shè)置是baidu嗎?

            事情不是你想的那樣,因?yàn)槲已b了google工具欄,大部分搜索都是通過(guò)google工具欄進(jìn)行的。所謂左谷歌,右百度,百度只有偶爾谷歌被抽風(fēng)時(shí)才用。
              回復(fù)  更多評(píng)論
              


            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久精品国产72国产精福利| 国产精品美女久久久久| 国内精品伊人久久久久| 无遮挡粉嫩小泬久久久久久久| 久久最新免费视频| 综合久久精品色| 国产香蕉久久精品综合网| 久久久久久久国产免费看| 九九久久精品国产| 亚洲精品99久久久久中文字幕| 亚洲成av人片不卡无码久久| 久久这里的只有是精品23| 狠狠色婷婷久久一区二区| 久久久精品2019免费观看| 99精品国产在热久久无毒不卡 | 77777亚洲午夜久久多人| 无码任你躁久久久久久老妇| 国产精品99久久久久久宅男小说| 亚洲乱码日产精品a级毛片久久| 久久中文字幕人妻丝袜| 日韩人妻无码精品久久免费一| 99久久久精品| 久久久久久极精品久久久| 丁香色欲久久久久久综合网| 国产亚洲欧美成人久久片| 国产精品成人99久久久久91gav| 久久精品国产99久久丝袜| 国产一区二区久久久| 久久噜噜电影你懂的| 日韩十八禁一区二区久久| 久久综合香蕉国产蜜臀AV| 韩国无遮挡三级久久| 伊人色综合久久天天人守人婷 | 99久久久国产精品免费无卡顿| 久久er国产精品免费观看2| 久久人妻少妇嫩草AV无码蜜桃| 蜜臀久久99精品久久久久久小说 | 久久av免费天堂小草播放| 国产成人久久精品一区二区三区| 久久亚洲综合色一区二区三区| 亚洲欧美国产精品专区久久|