→ typepeter:因為他真的只改這個... 12/03 15:57
→ typepeter:他幾乎和原來的pcmanmoz一模一樣,只是改成用GC去Call 12/03 17:58
檔案網址:
nppcman.dll
http://cid-403b1b625f24135e.office.live.com/self.aspx/Public/nppcman.dll
描述:
修改pcmanmoz的plugin,試圖讓他可以在Opera上work
ps. 我沒有打算做進一步的maintain或修改
而且其實npapi我也不熟XDD 所以有bug別怪我
使用方法:
把nppcman.dll丟進plugin的目錄
(看opera:config#UserPrefs|PluginPath,
也可以自己依樣畫葫蘆)
然後我把pcman.html修改一下,也丟上去
http://cid-403b1b625f24135e.office.live.com/self.aspx/Public/pcman%5E_ptt.html
預設是連ptt啦... 想連其他的...
後面加?[bbs站網址] 範例:pcman_ptt.html?ptt2.cc
然後,按鍵沒反應的話,就對著bbs畫面按個幾下
(我沒測過多個tab會怎樣就是了orz...)
以下是碎碎念:p
話說看到typepeter大說的之後,我又跑去試試看pcmanmoz的plug-in
(之前不知道tonberry沒改plugin)
可不可以在Opera上執行(後來又跑去下載Opera@USB 10.63,方便測試)
(想說都一樣是npapi的介面)
結果曾經試了一陣子(偷拿專案裡的pcman.jar裡面的pcman.html來測)
又想到有人說tonberry只能連ptt,所以看了一下pcman.html
如果要做到只連ptt.cc,那就強制把bbsURL設定成ptt.cc不就好了
(telnet:網址的部份,暫時應該是無解)
試出來的結果是,畫面一片黑,但是,按右鍵有東西!!
而且很明顯是plugin有執行
然後我就想說,那手動執行一下Term.connect
結果沒反應,弄了一會,才發現沒有Term.connect這個東西
後來我反應過來,原來是plugin在opera沒有script介面
然後找了一下,跑去下載plugin的原始碼
第一次成功編譯PCMan plugin的原始碼(雖然我不是用vc6)
後來參考Opera的plug-in網頁
http://dev.opera.com/articles/view/the-opera-plug-in-interface/
(話說我一直把它的called by看成呼叫了orz...
導致一直遞迴XD 後來才改回來)
以及Mozilla的plug-in相關說明
https://developer.mozilla.org/en/NPClass
還有看起來似乎很清楚的
http://rintarou.dyndns.org/2010/04/23/scriptable-plugin-探討-20090408/
以及某個的網頁的提問
http://zh-tw.w3support.net/index.php?db=so&id=125308
了解到,應該是GetValue應該採用NPObject
而原來的PCMan plugin只有實作pluginInstance
以及一個scriptableIID的東西
而Opera會呼叫的是NPPVpluginScriptableNPObject
然後沒處理,就炸掉了...(其實只是沒有script介面)
然後我就邊try邊看文件的把NPObject硬湊出來
(主要是設定NPClass以及對應函數的實作)
然後np_entry.cpp又補了一堆 = (ps.複製數值)
(因為原來並沒有全部複製,有些功能不會被呼叫到
尤其是CreateObject的部份)
經過不斷測試(感謝Opera@USB)修改
終於Opera似乎可以用plugin了
後來我又跑去測firefox
結果又是不能用XD
跑去搜尋mozilla的source找錯誤訊息
http://mxr.mozilla.org/firefox/
又測試一段時間,應該是勉強可用
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.140.244.229
→ weiyucsie:其實我在想,要不要改標題XD 因為和版權完全無關XD 12/04 13:44
※ 編輯: weiyucsie 來自: 220.140.244.229 (12/04 14:04)
推 Weal:推一個 測試過後確實可以用了 不曉得有沒有人願意進一步改作 12/04 14:45
→ Weal:成11版的extension 或者再強化一下呢 XD 12/04 14:46
推 typepeter:推! 在想說,要不要把nppcman部份更新到Novus版:P 12/04 15:07
→ typepeter:或者用java改寫(因為這樣才能在其它系統下用) 12/04 15:07
推 randle:從前陣子PCMan寫的純Javascript版擴充套件來移植呢? 12/04 15:52
→ typepeter:那個套件用的好像是XUL的API,不知道是否可以移到Chrome 12/04 16:56
→ typepeter:XUL是Mozilla開發的,而Chrome的作者沒打算支援(為了輕量 12/04 16:59
推 OhMyAlex:太強大了!!以後可能連PCman都不用開了 12/04 22:30
推 ateclean:實驗家一定要推一下的! 12/04 23:29
推 neosnow:非常強大! 12/05 00:23
推 eterbless:有實驗有推 等11版的API出來後應該就能改得更完整了XDD 12/05 00:48