2013年2月13日 星期三

emacs中控制firefox

2009年以後,似乎是因為安全性或跨平台的原因,把gtk上的dbus這條路廢人化了

現在留下來比較為人所知的是Mozrepl這個套件 https://github.com/bard/mozrepl/wiki

安裝完後記得重啟firefox

https://github.com/bard/mozrepl/wiki/Emacs-integration

加上moz.el的話可以在打開javascript buffer後開始與firefox對話,記得要在表單中啟動

工具 > MozRepl > Start


官方的教學


https://github.com/bard/mozrepl/wiki/Starting-the-REPL 用emacs的話可以跳過
https://github.com/bard/mozrepl/wiki/Tutorial


講perl嘛A通


http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.71/lib/Firefox/Application.pm
http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.71/
http://search.cpan.org/~corion/MozRepl-RemoteObject-0.34/
http://search.cpan.org/~corion/MozRepl-RemoteObject-0.34/lib/MozRepl/RemoteObject.pm 其中提到的iceweasel可以直接用firefox代換。

感想︰


這種作法滿符合unix/linux的作風,就是把ipc的問題當成是client/server的問題來解決。由目前mozrepl的啟動方法可以知道,這是一個視窗佔用一個port來作為server的架構,因此在操作上最好有心理準備,它所能提供的自動化僅及 於同一個視窗;當有彈出視窗出現時,就無法控制,必需要在該視窗中再指定一個不同的port並啟動,並另外建立新的client去跟它連線,才能進行控制。(待確認)


很遺憾的是,moz.el沒有什麼文件,Mozrepl也沒有什麼文件。其實這只是提供一個存取firefox的物件結構的窗口,所有的語法都是javascript,所以要了解javascript對dom的存取觀念。的確在firefox裏也可以直接進行這些操作,但是所產生的資訊要如何整合到現有的資訊/知識管理系統呢? 如果採用org mode的話,那麼與其在firefox中進行操作,還不如在emacs中進行操作;這也就是必需使用mozrepl 的原因。

雖然mozrepl沒什麼文件,但是cpan上的MozRepl-RemoteObject有

沒有留言:

張貼留言