場景一:你辛辛苦苦作了一個手機web app,卻發現它在iPhone、iPad、HTC G14和M9上的表現有必定的差別,更苦惱的是你檢查了好幾遍代碼、用了不少alert也不知道問題出在哪裏,只好把這歸結爲兼容性bug。此時你想手機瀏覽器上若是有firebug或者web開發工具那就行了,你確定能搞定這個問題。
場景二:你幫助一個程序員調試一個web頁面,發現他的電腦上既沒有firefox、firebug,也沒有safari、chrome,只有個360瀏覽器且內核仍是IE6,你內心暗暗鄙視他(web開發人員的常見心理問題)。你想給他裝個firefox,但這程序員有潔癖,不讓你在他電腦上安裝哪些非主流的瀏覽器。但你也不可能爲了他花一天時間來給本身的電腦安裝開發環境、配置數據庫、導入工程、調試運行。最後大家對望了一眼,不約而同說了句「那算了吧」。
若是你確實經歷過以上的情景,說明你確定是一個苦逼的web開發人員。做爲IT界的「環衛工人」,雖然咱們的職責就是清除果皮紙屑(對付各類瀏覽器的bug),美化城市環境(保證各瀏覽器中的一致性),但面對上述情景,咱們仍是感到有心無力。同時做爲IT界「魔術師」的咱們,應該想出更好地辦法來解決上述問題。你有什麼好辦法呢?
遠程調試就是一種解決辦法。遠程調試能夠實現你在本身的電腦上調試手機網站,也能夠實現你在本身的電腦上調試用戶或程序員正在訪問的頁面。
目前的遠程調試方法主要依賴遠程調試工具,如 weinre、 JSconsole、 socketbug等。但未來桌面瀏覽器和移動瀏覽器有但願默認支持遠程調試功能,目前的chrome開發工具已經開始支持遠程調試,且已將相關代碼提交到了webkit代碼庫中,未來更多的瀏覽器有望支持遠程調試功能。
上述三種遠程調試工具中,weinre使用較爲廣泛,且已成爲phonegap項目的一部分;JSconsole主要偏重於js調試,功能較爲單一;socketbug依賴於node.js和socket.IO,安裝使用較爲複雜。
Weinre是什麼?
Weinre是Web Inspector Remote的縮寫(遠程web檢查器),Weinre這個詞在英文中指釀酒廠。Weinre的做用和safari的web檢查器及chrome的開發人員工具同樣,界面和用法也基本同樣。惟一不一樣是weinre用於遠程調試,尤爲適用於移動web調試。舉個例子,在電腦上能夠即時 的更改手機上對應網頁的頁面元素、樣式表,或是查看Javascript變量,同時還能夠看到手機上頁面的錯誤和警告信息。 node