2013年8月14日 星期三

各瀏覽器之遠端除錯方式

各個主流瀏覽器現今都內建了功能相當先進的除錯器,有時令人不禁懷疑visual studio等龐然大物存在的必要性XD 。以下簡介一下它們經由socket進行行程外除錯的方式,其重要性在於提供與其它Editor(eg. Emacs)協同工作的管道。

Google Chrome / Chromium


emacs常用的工具稱作kitejsSlime是另一種選擇。其通訊協定使用json格式的訊息。ubuntu中以額外參數啟動:

chromium-browser --remote-debugging-port=9222

Chrome本身提供了chrome.* APIs ,按下Ctrl Shift J可帶出內建的 console把玩一下;不過處理tabs的api 可能因為安全性等等的考量而末開放,比較專業的做法是寫個extension並獲取權限;直接在瀏覽器中打開 http://localhost:9222 看看,一開始它就呈現了所有tab作為進入點

Mozilla Firefox


除了使用mozrepl,jsSlime似乎有滿陽春的支援XD

mozrepl使用的其實是xul所呈現的物件模型,按下Ctrl Shift K在ff本身的debugger先把玩一下gBrowser可以對遠端除錯的工作有更好的了解,一些常見的用法可參考以下連結

firefox火狐浏览器扩展开发代码片段收集

沒有留言:

張貼留言