在咱們用phoengap+html5作的移動app中,常常遇到的問題就是 本地網頁兼容可是到了app出現不兼容的狀況,緣由是手機端頁面,大多運行在webkit內核的瀏覽器上,但仍是會因平臺、廠商的不一樣而有種種兼容性問題。html
下面就介紹一下在iOS和Android兩個平臺上如何在真機上對頁面進行調試。這裏要說明的是,iOS平臺只能用自帶的Safari瀏覽器來調試,而Android平臺也只能用google Chrome瀏覽器來調試。固然,我目前只發現這麼兩種手段,若是你還有其餘方法可調試更多的瀏覽器,但願你能留言告訴我。html5
經過【設置】>【Safari】>【高級】>【Web檢查器】打開。見下圖(點擊查看大圖),而且你會看到該選項下面對電腦操做的相應描述,照作就好。android
2.1 先在手機Safari中打開你想調試的網頁,並用數據線鏈接到電腦(我這裏是Mac)web
2.2 再在電腦上打開Safari點擊【Develop】菜單,就會看到以下圖所示(點擊查看大圖):chrome
3.3 點擊2.2中的網站名就會在電腦上打開Safari的控制檯,以下圖(點擊查看大圖):瀏覽器
如上3.3圖所示,此時你能夠查看手機網頁的DOM結構,而且和電腦端網頁調試無異,當鼠標滑過這些DOM節點的時候手機上的相應佈局也會高亮起來,以下圖(點擊查看大圖):bash
1.1【設置】>【關於手機】>【版本號(Build number)】,對版本號這一項連點7下(這是官方文檔裏的說法)就會提示「你已成爲開發者」。app
1.2 再返回【設置】>【開發者選項】>【USB調試】打開手機USB調試。tcp
這塊比較麻煩,由於要裝一下Android的SDK。佈局
2.1 下載Android SDK,並解壓,我把整個adt目錄放在了 /Users/David/adt/ 這裏。
2.2 設置環境變量 。打開終端在David路徑下(形如 DaviddeMacBook-Pro:~ David$)輸入 open .bash_profile,若是文件存在則會打開,若是不存在則再輸入touch .bash_profile 建立並打開這個文件。在文件裏輸入export PATH=$PATH:/Users/David/adt/sdk/platform-tools:/Users/David/adt/sdk/tools ,關閉保存。最後在終端裏輸入 source .bash_profile 來更新環境變量使其生效。終端裏輸入 adb 出現命令幫助信息就是成功了。
2.3 在終端裏輸入 adb forward tcp:9222 localabstract:chrome_devtools_remote 。
3.1 在手機上的Chrome裏打開想要調試的網頁,用數據線鏈接手機和電腦(個人是Mac。唉~我只是強調平臺的不一樣,不要誤會)。
3.2 打開電腦上的Chrome,在地址欄裏輸入 about:inspect
選中 【Discover USB Devices】前面的複選框。出現下圖畫面(點擊查看大圖):
4.1 你能夠點擊圖3.2中檢測到的設備上正在運行的網站下面那個【inspect】,或者在瀏覽器中輸入 localhost:9222 打開手機正在瀏覽的網頁列表,以下圖:
4.2 點擊上圖中的網站縮略圖,就會跳轉到Google的一個代理連接(連接可能被牆……,掛代理)就會打開以下圖所示的控制檯(點擊查看大圖):
4.3 這就和電腦上網頁調試沒什麼差異了,鼠標通過DOM節點,手機上的佈局一樣也會高亮起來:
好的,完結。