亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

9102了,你還不會移動端真機(jī)調(diào)試嗎

 更新時間:2019年03月25日 14:35:54   作者:前端小姐姐  
這篇文章主要介紹了9102了,你還不會移動端真機(jī)調(diào)試嗎,本文詳細(xì)的介紹了3種移動端真機(jī)調(diào)試方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

移動端調(diào)試?yán)щy

很多時候,我們在進(jìn)行移動端開發(fā)時,都是先在PC端使用手機(jī)模擬器進(jìn)行調(diào)試,沒有問題后,我們才會在手機(jī)端的瀏覽器進(jìn)行測試,這個時候,如果沒有出現(xiàn)問題,皆大歡喜。但是一旦出現(xiàn)問題,我們就很難解決,因為缺乏可視化的界面。不似在PC端,我們能直觀的去改變樣式,或者是進(jìn)行斷點調(diào)試。有時,在移動端我們不得不借助于alert來調(diào)試,但是這樣的調(diào)試方法效率極其低下,很多時候,都是靠經(jīng)驗,或者是靠排除法。甚至,我們不得不歸結(jié)為是瀏覽器的實現(xiàn)問題。

那么,有什么什么方法,能夠讓我們調(diào)試移動端的適配的時候,像調(diào)試PC端一樣直觀呢?本文旨在為你提供移動端的調(diào)試方法,希望能夠為你打開新的一扇門。

本文會給出三種真機(jī)調(diào)試方法,你可以選擇自己最喜歡的一款~

移動端真機(jī)調(diào)試方法

  • chrome真機(jī)調(diào)試
  • weinre調(diào)試
  • spy-debugger調(diào)試

簡單說明一下每一種方式的優(yōu)缺點:

第一種: chrome真機(jī)調(diào)試,有一個很大的局限性就是,只能調(diào)試手機(jī)端的chrome瀏覽器,對于UC,QQ這些瀏覽器均不適用,因此在調(diào)試兼容問題時,幫助不大,但是最大的優(yōu)點是: 簡單快捷。

第二種: weinre調(diào)試方式,安裝和適用不復(fù)雜,適用于全平臺的調(diào)試,即任何手機(jī)的任何瀏覽器皆可以調(diào)試,不過需要手機(jī)和電腦在同一個網(wǎng)段下。

第三種:spy-debugger,安裝稍微復(fù)雜一點,spy-debugger集成了weinre,不過還增加了抓包工具,使用最為方便。

下面我們開始具體介紹如何使用這三種調(diào)試方法:

1.chrome真機(jī)調(diào)試

手機(jī)端下載好chrome瀏覽器,使用USB連接到PC,打開手機(jī)的USB調(diào)試模式。

然后在PC端打開chrome瀏覽器,在地址欄輸入: chrome://inspect. 勾選"discovery usb device"。然后在手機(jī)端瀏覽網(wǎng)頁,就可以看到如下的頁面,點擊inspect,進(jìn)行調(diào)試。(鑒于我的工作電腦是加了域的,因為并不能使用這個方式,如果有和我一樣情況的童鞋,可以考慮使用另外兩種調(diào)試方式)

2.weinre真機(jī)調(diào)試

Weinre(WebInspector Remote)是一款基于Web Inspector(Webkit)的遠(yuǎn)程調(diào)試工具,借助于網(wǎng)絡(luò),可以在PC上直接調(diào)試運(yùn)行在移動設(shè)備上的遠(yuǎn)程頁面。

本地服務(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ù)說明:

  • httpPort: 設(shè)置Wninre使用的端口號,默認(rèn)是8080
  • boundHost: [hostname | Ip | -all-]: 默認(rèn)是 ‘localhost'.
  • debug [true | false] : 這個選項與–verbose類似, 會輸出更多的信息。默認(rèn)為false。
  • readTimeout [seconds] : Server發(fā)送信息到Target/Client的超時時間, 默認(rèn)為5s。
  • deathTimeout [seconds] : 默認(rèn)為3倍的readTimeout, 如果頁面超過這個時間都沒有任何響應(yīng), 那么就會斷開連接。

8080端口使用情況較多,所以我選擇了指定8090端口。

啟動了weinre之后,我們在瀏覽器中輸入localhost:8090.顯示如下界面,表示已經(jīng)啟動成功。

點擊debug client user interface,進(jìn)入調(diào)試頁面。

當(dāng)前的targets中內(nèi)容為空。

現(xiàn)在,我們需要做另外一點操作,在我們要調(diào)試的頁面中,增加一個腳本。

<script src="http://localhost:8090/target/target-script-min.js#anonymous"></script>

記住將localhost換成你的IP地址.

然后,我們在本地啟動一個服務(wù)器,可以是IDE集成的服務(wù)器,或者是http-server,我使用的是http-server.啟動之后,我們在手機(jī)端訪問要調(diào)試的網(wǎng)頁。然后就會發(fā)現(xiàn)targets下面增加了記錄。

這時,我們就可以點擊Elements進(jìn)行調(diào)試。

修改樣式時,會在手機(jī)端即時生效,并且也可以查看控制臺信息,唯一一點就是,不能進(jìn)行斷點調(diào)試。

最后,在調(diào)試結(jié)束之后,別忘記刪除嵌入的script。

除了這種方法之后,還介紹了在手機(jī)端保存一段Js代碼,在需要調(diào)試某個頁面時,點擊執(zhí)行JS,但是現(xiàn)在瀏覽器為了安全起見,已經(jīng)不再支持此方法。默認(rèn)的方法是搜索,而非執(zhí)行,所以不可取。

3.spy-debugger真機(jī)調(diào)試

最后,再介紹一下spy-debugger方法。用這個方法,我們不再需要自己增加和刪除腳本。

Spy-debugger內(nèi)部集成了weinre,通過代理的方式攔截所有html自動注入weinre所需的js代碼。簡化了weinre需要給每個調(diào)試的頁面添加js代碼。spy-debugger原理是攔截所有html頁面請求注入weinre所需要的js代碼。讓頁面調(diào)試更加方便。

特性:

  1. 頁面調(diào)試+抓包
  2. 操作簡單
  3. 支持HTTPS。
  4. spy-debugger內(nèi)部集成了weinre、node-mitmproxy、AnyProxy。
  5. 自動忽略原生App發(fā)起的https請求,只攔截webview發(fā)起的https請求。對使用了SSL pinning技術(shù)的原生App不造成任何影響。
  6. 可以配合其它代理工具一起使用(默認(rèn)使用AnyProxy)
Spydebugger安裝與使用

1 、安裝: 全局安裝 npm install –g spy-debugger

2、啟動: spy-debugger

3、設(shè)置手機(jī)的HTTP代理

代理的地址為 PC的IP地址 ,代理的端口為spy-debugger的啟動端口(默認(rèn)端口為:9888)默認(rèn)端口是 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、手機(jī)安裝證書(node-mitmproxy CA根證書)

第一步:生成證書:

生成CA根證書,根證書生成在 /Users/XXX/node-mitmproxy/ 目錄下(Mac)。

spy-debugger initCA

第二步:安裝證書:

把node-mitmproxy文件夾下的 node-mitmproxy.ca.crt 傳到手機(jī)上,點擊安裝即可。

Spy-debugger啟動界面,同樣,在手機(jī)端刷新頁面之后,targets中會有記錄

以我曾經(jīng)做的京豆游戲的頁面展示一下效果,當(dāng)我們在手機(jī)上選中一個元素時,可以在電腦上看到相應(yīng)的信息,這樣我們就可以看出有可能是什么樣式不兼容導(dǎo)致了UI的異常了,同樣,還可以在控制臺中看到JS的log信息,對于移動端調(diào)試來說非常有幫助。


總結(jié):

chrome inspect應(yīng)用場景有限weinre安裝簡單,使用過程中需要增加和刪除script,如果調(diào)試頁面很多的情況下,不適用。spy-debugger安裝略復(fù)雜,但是使用過程非常愉快。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于jquery實現(xiàn)的省市區(qū)級聯(lián)無ajax

    基于jquery實現(xiàn)的省市區(qū)級聯(lián)無ajax

    省市區(qū)級聯(lián)的實現(xiàn)方法有很多,在本文為大家介紹下如何使用jquery無ajax來實現(xiàn),感興趣的朋友可以參考下,希望對大家有所幫助
    2013-09-09
  • js style動態(tài)設(shè)置table高度

    js style動態(tài)設(shè)置table高度

    設(shè)置table高度想必大家都會,直接在table標(biāo)簽中設(shè)置下不就行了嗎?這是靜態(tài)的,如果要動態(tài)設(shè)置你會嗎?下面的實例將教會大家
    2014-10-10
  • JavaScript定時顯示廣告代碼分享

    JavaScript定時顯示廣告代碼分享

    這篇文章主要介紹了JavaScript定時顯示廣告代碼分享,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • JavaScript圖像延遲加載庫Echo.js

    JavaScript圖像延遲加載庫Echo.js

    Echo 是一個獨立的 JavaScript 懶加載圖像的工具,快速、體積小(不足1k)和使用 HTML5 的 data- 屬性,通過本文給大家介紹JavaScript圖像延遲加載庫Echo.js ,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • js模擬實現(xiàn)Array的sort方法

    js模擬實現(xiàn)Array的sort方法

    JavaScript的Array對象有一個sort方法,用于實現(xiàn)對數(shù)組元素的排序,該方法默認(rèn)按照數(shù)組項ASCII 字符順序升序排列。這篇文章重點給大家介紹js模擬實現(xiàn)Array的sort方法,一起看看吧
    2007-12-12
  • layui寫后臺表格思路和賦值用法詳解

    layui寫后臺表格思路和賦值用法詳解

    今天小編就為大家分享一篇layui寫后臺表格思路和賦值用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • JavaScript?中URL?查詢字符串(query?string)的序列與反序列化的方法

    JavaScript?中URL?查詢字符串(query?string)的序列與反序列化的方法

    在 JavaScript 中,可以使用?URLSearchParams?對象來處理 URL 中的查詢字符串,這篇文章主要介紹了JavaScript?中URL查詢字符串(query?string)的序列與反序列化,需要的朋友可以參考下
    2023-01-01
  • GitHub上一些實用的JavaScript的文件壓縮解壓縮庫推薦

    GitHub上一些實用的JavaScript的文件壓縮解壓縮庫推薦

    這篇文章主要介紹了GitHub上一些實用的JavaScript的文件壓縮解壓縮庫推薦,推薦的這幾個都是支持zip格式的,需要的朋友可以參考下
    2016-03-03
  • 利用CSS、JavaScript及Ajax實現(xiàn)圖片預(yù)加載的方法

    利用CSS、JavaScript及Ajax實現(xiàn)圖片預(yù)加載的方法

    預(yù)加載圖片是提高用戶體驗的一個很好方法,實現(xiàn)圖片預(yù)加載可以使用css、JavaScript、Ajax三種方法。下面逐一給大家介紹利用CSS、JavaScript及Ajax實現(xiàn)圖片預(yù)加載的方法,需要的朋友參考下吧
    2016-11-11
  • JS復(fù)雜判斷的更優(yōu)雅寫法代碼詳解

    JS復(fù)雜判斷的更優(yōu)雅寫法代碼詳解

    我們編寫js代碼時經(jīng)常遇到復(fù)雜邏輯判的情況,通常大家可以用if/else或者switch來實現(xiàn)多個條件判斷,但這樣會有個問題,隨著邏輯復(fù)雜度的增加,代碼中的if/else/switch會變得越來越臃腫,越來越看不懂,那么如何更優(yōu)雅的寫判斷邏輯,本文帶你試一下
    2018-11-11

最新評論