掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
移動端調(diào)試困難

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供漾濞網(wǎng)站建設(shè)、漾濞做網(wǎng)站、漾濞網(wǎng)站設(shè)計、漾濞網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、漾濞企業(yè)網(wǎng)站模板建站服務(wù),十余年漾濞做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
很多時候,我們在進行移動端開發(fā)時,都是先在PC端使用手機模擬器進行調(diào)試,沒有問題后,我們才會在手機端的瀏覽器進行測試,這個時候,如果沒有出現(xiàn)問題,皆大歡喜。但是一旦出現(xiàn)問題,我們就很難解決,因為缺乏可視化的界面。不似在PC端,我們能直觀的去改變樣式,或者是進行斷點調(diào)試。有時,在移動端我們不得不借助于alert來調(diào)試,但是這樣的調(diào)試方法效率極其低下,很多時候,都是靠經(jīng)驗,或者是靠排除法。甚至,我們不得不歸結(jié)為是瀏覽器的實現(xiàn)問題。
那么,有什么什么方法,能夠讓我們調(diào)試移動端的適配的時候,像調(diào)試PC端一樣直觀呢?本文旨在為你提供移動端的調(diào)試方法,希望能夠為你打開新的一扇門。
本文會給出三種真機調(diào)試方法,你可以選擇自己最喜歡的一款~
移動端真機調(diào)試方法
簡單說明一下每一種方式的優(yōu)缺點:
***種: chrome真機調(diào)試,有一個很大的局限性就是,只能調(diào)試手機端的chrome瀏覽器,對于UC,QQ這些瀏覽器均不適用,因此在調(diào)試兼容問題時,幫助不大,但是***的優(yōu)點是: 簡單快捷。
第二種: weinre調(diào)試方式,安裝和適用不復(fù)雜,適用于全平臺的調(diào)試,即任何手機的任何瀏覽器皆可以調(diào)試,不過需要手機和電腦在同一個網(wǎng)段下。
第三種:spy-debugger,安裝稍微復(fù)雜一點,spy-debugger集成了weinre,不過還增加了抓包工具,使用最為方便。
下面我們開始具體介紹如何使用這三種調(diào)試方法:
1.chrome真機調(diào)試
手機端下載好chrome瀏覽器,使用USB連接到PC,打開手機的USB調(diào)試模式。
然后在PC端打開chrome瀏覽器,在地址欄輸入: chrome://inspect. 勾選"discovery usb device"。然后在手機端瀏覽網(wǎng)頁,就可以看到如下的頁面,點擊inspect,進行調(diào)試。(鑒于我的工作電腦是加了域的,因為并不能使用這個方式,如果有和我一樣情況的童鞋,可以考慮使用另外兩種調(diào)試方式)
2.weinre真機調(diào)試
Weinre(WebInspector Remote)是一款基于Web Inspector(Webkit)的遠程調(diào)試工具,借助于網(wǎng)絡(luò),可以在PC上直接調(diào)試運行在移動設(shè)備上的遠程頁面。
本地服務(wù)器: 可以使用http-server、tomcat等,也可以使用編譯器集成的服務(wù)
weinre安裝
全局安裝: npm install –g weinre
局部安裝: npm install weinre
啟動: weinre --httpPort 8090 --boundHost -all-
如果是局部安裝的話,需要在前面加上 node_modules/.bin/
相信前端的童鞋都會用npm包管理工具,對于這個工具,我就不展開了,如果沒有安裝npm的,自行安裝。
weinre啟動參數(shù)說明:
8080端口使用情況較多,所以我選擇了指定8090端口。
啟動了weinre之后,我們在瀏覽器中輸入localhost:8090.顯示如下界面,表示已經(jīng)啟動成功。
點擊debug client user interface,進入調(diào)試頁面。
當(dāng)前的targets中內(nèi)容為空。
現(xiàn)在,我們需要做另外一點操作,在我們要調(diào)試的頁面中,增加一個腳本。
記住將localhost換成你的IP地址.
然后,我們在本地啟動一個服務(wù)器,可以是IDE集成的服務(wù)器,或者是http-server,我使用的是http-server.啟動之后,我們在手機端訪問要調(diào)試的網(wǎng)頁。然后就會發(fā)現(xiàn)targets下面增加了記錄。
這時,我們就可以點擊Elements進行調(diào)試。
修改樣式時,會在手機端即時生效,并且也可以查看控制臺信息,唯一一點就是,不能進行斷點調(diào)試。
***,在調(diào)試結(jié)束之后,別忘記刪除嵌入的script。
除了這種方法之后,還介紹了在手機端保存一段Js代碼,在需要調(diào)試某個頁面時,點擊執(zhí)行JS,但是現(xiàn)在瀏覽器為了安全起見,已經(jīng)不再支持此方法。默認的方法是搜索,而非執(zhí)行,所以不可取。
3.spy-debugger真機調(diào)試
***,再介紹一下spy-debugger方法。用這個方法,我們不再需要自己增加和刪除腳本。
Spy-debugger內(nèi)部集成了weinre,通過代理的方式攔截所有html自動注入weinre所需的js代碼。簡化了weinre需要給每個調(diào)試的頁面添加js代碼。spy-debugger原理是攔截所有html頁面請求注入weinre所需要的js代碼。讓頁面調(diào)試更加方便。
特性:
Spydebugger安裝與使用
1.安裝: 全局安裝 npm install –g spy-debugger
2.啟動: spy-debugger
3.設(shè)置手機的HTTP代理
代理的地址為 PC的IP地址 ,代理的端口為spy-debugger的啟動端口(默認端口為:9888)默認端口是 9888。
如果要指定端口: spy-debugger –p 8888
Android設(shè)置步驟:設(shè)置 - WLAN - 長按選中網(wǎng)絡(luò) - 修改網(wǎng)絡(luò) - 高級 - 代理設(shè)置 - 手動
iOS設(shè)置代理步驟:設(shè)置 - 無線局域網(wǎng) - 選中網(wǎng)絡(luò) - HTTP代理手動
4.手機安裝證書(node-mitmproxy CA根證書)
***步:生成證書:
生成CA根證書,根證書生成在 /Users/XXX/node-mitmproxy/ 目錄下(Mac)。
- spy-debugger initCA
第二步:安裝證書:
把node-mitmproxy文件夾下的 node-mitmproxy.ca.crt 傳到手機上,點擊安裝即可。
Spy-debugger啟動界面,同樣,在手機端刷新頁面之后,targets中會有記錄
以我曾經(jīng)做的京豆游戲的頁面展示一下效果,當(dāng)我們在手機上選中一個元素時,可以在電腦上看到相應(yīng)的信息,這樣我們就可以看出有可能是什么樣式不兼容導(dǎo)致了UI的異常了,同樣,還可以在控制臺中看到JS的log信息,對于移動端調(diào)試來說非常有幫助。
總結(jié):

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流