Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产不卡在线视频,免费一级毛片在线播放不收费,男人和女人日皮的视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          H5移動端調試攻略-超實用

          H5移動端調試攻略-超實用



          家好,我是Echa。

          基于目前主流場景——H5頁面內嵌在APP端的應用,我們基于H5頁面承載的平臺,遇到很多設備的兼容性問題【如:ios13.6.1頁面一直循環請求問題、Android5.0 + ios10白屏問題等】,針對特殊機型,我們并不能直接通過瀏覽器調試出其問題所在。因此,需要我們在真實的設備場景下,采用真機調試的方法,進行進一步問題的分析。

          1. 真機調試

          (1)IOS 調試

          對于mac電腦,ios可以直接使用USB,將真機連接在MAC電腦上,通過Safari瀏覽器調試。

          手機的準備工作:

          • 打開設置,找到Safari瀏覽器
          • 在 Safari 瀏覽器中找到高級
          • 在高級中找到 web檢查器和JavaScript
          • 將web檢查器和JavaScript打開

          手機準備就緒后,開始在電腦上操作:

          • 首先打開safari的開發調試,在偏好設置中將開發的選項框選中。此時就會看到開發的菜單欄。
          • 將手機連接在電腦上后,打開Safari瀏覽器,手機端打開我們的H5頁面,在Safari中菜單欄中找到開發
          • 在開發下拉選項卡中找到連接的設備信息
          • 選擇設備后就能看到右側的我們打開的對應H5的頁面地址,選中后會發現手機設備中也會有選中標識。
          • 點擊后就會打開調試彈窗,上方有調試的選項:包括控制臺、元素、以及來源等
          • 網絡對應的就是資源的加載,和chrome的調試工具類似,可以查看接口,靜態資源等

          注意事項:

          • 如果出現工具不全等,建議升級Safari版本重試。
          • 由于APP包本身的問題,導致不是在本地IDE打出來的包,直接連接調試APP中的H5頁面,會無法獲取到檢查的應用程序。

          (2)Android 調試

          • 對于Android4.2以及以后的版本,默認情況下開發者選項是隱藏的,要啟用開發者選項,需要在設置中點擊關于本機,然后點擊版本號7次,就會有彈窗提示,打開開發者選項;
          • 在開發者選項中,打開USB調試開關;將電腦與手機連接,在手機上選擇允許電腦連接;【注:有的充電線是只能充電的作用,需要的是可以USB調試的數據線,前者打開USB,無響應】

          對于mac,需要安裝android和adb配置,才可以在chrome的調試工具中看到將要調試的頁面。安裝后需要配置adb,參考以下文章:https://www.jianshu.com/p/61339291c9e2

          • 打開AndroidStudio,在File中打開Project Structure,復制sdk路徑

          然后打開終端,輸入以下命令:

           touch .bash_profile
          

          該命令的作用是如果不存在.bash_profile文件,則創建該文件;然后輸入以下命令:

          open -e .bash_profile
          

          該命令的作用是用文本編輯器 TextEdit 打開.bash_profile文件。如果第一次配置環境變量,則該文檔應該是空的。、

          接下來,在該文件中加入下面的代碼:

          export ANDROID_HOME="/Users/macbook/Library/Android/sdk"  /// Android SDk 路徑 
          export PATH=${PATH}:${ANDROID_HOME}/tools  /// 
          export PATH=${PATH}:${ANDROID_HOME}/platform-tools  /// adb環境變量 路徑
          

          編輯好后按下 command + S 保存退出即可。

          執行以下命令來刷新環境變量:

          source .bash_profile    
          

          通過以下命令來測試 adb 是否安裝成功,如果還不行,請檢測保存的sdk路徑是否正確:

          adb version
          

          安裝好adb后就進行創建和修改adb_usb.ini文件:

          • 手機連接好電腦,終端輸入:system_profiler SPUSBDataType,可以查看電腦的所有接口及設備信息。

          • 獲取上述 Android 機的 vendor ID,復制
          • 終端輸入:vim ~/.android/adb_usb.ini
          • 輸入i,進入編輯模式,將 vendor ID 粘貼進去,然后輸入:wq保存。
          • 關閉和重啟 adb:adb kill-serveradb start-server
          • 最后,查看手機設備,是否已經連接成功:adb devices

          如果查看手機設備時,已添加的設備不是devices,而是unauthorized『未授權』狀態,則使用以下解決方法:

          • 刪除 adbkey

          • 撤銷手機的USB調試授權,關閉手機開發者模式,關閉USB調試
          • 關閉adb【adb kill-server】,或者重啟電腦
          • 重新連接手機,打開開發者選項,開啟USB調試
          • 彈出是否允許USB調試彈窗,重新點擊允許,再執行adb devices,即可完美解決。

          連接成功后,打開谷歌調試工具:chrome://inspect/#devices,手機端打開H5頁面,即可看到調試的H5頁面地址,點擊后即可調試:

          2. 抓包

          抓包主要是在數據返回有問題,需要提供curl或者分析服務端返回數據結構時進行的操作。這里主要介紹使用 Charles 抓包。

          (1)Charles 概述

          Charles 是常用的 HTTPS 協議網絡包截取工具,是一款非常好用的抓包工具。

          Charles 的優勢如下

          • 支持SSL代理,可以截取分析SSL的請求;
          • 支持流量控制,模擬弱網情況;
          • 支持ajax調試,自動將json或者xml數據格式化,方便查看;
          • 支持重發網絡請求,方便后端調試;
          • 支持修改網絡請求的查宿;
          • 支持網絡請求的截取和動態修改;
          • 支持多平臺(mac、windows 和linux)。

          Charles 的工作原理: Charles的抓包的本質是通過網絡代理進行抓包。

          • 普通的 HTTP 請求過程:

          • 加入Charles 的HTTP代理的請求和響應過程:

          綜上,其實 Charles 在中間做了一個攔截,對請求和響應進行截取和修改的過程。

          (2)HTTP 抓包過程

          下面來看看 HTTP 的抓包過程是怎么的。

          ① 開啟Charles代理

          1. 下載安裝后第一次啟動默認會開啟本機的系統代理,因為我們只監控移動端,所以將此選項去掉:

          1. 激活http代理功能:

          ② 手機端WIFI添加代理

          打開 wifi 設置,選擇已經連接的WIFI,點擊進入修改網絡,將代理改為手動;輸入代理服務器的IP與端口,IP 即安裝了 Charles 的電腦 IP 地址,端口就是上一步設置 Charles 時設置的端口:

          注意: 手機連接的 WIFI 要與電腦在同一個局域網內。

          ③ 開啟Charles錄制功能

          當手機連接上代理后,Charles會彈出相應的提示框,點擊 allow 即可。點擊工具欄上的開始錄制按鈕,即啟動抓包功能。

          ④ 啟動移動端中的應用開始抓包

          在手機上操作相應的頁面進行抓包,在Charles的主界面上就可以看到對應的請求內容。

          ⑤ 分析抓取的數據包

          (3)HTTPS抓包步驟

          以上為 HTTP 請求的抓包流程,但是針對 C 端項目,絕大部分都是 https 請求,所以對于HTTPS,我們還需要做一些前置的工作,保證可以順利的抓包。

          ① HTTPS 的基本原理

          HTTPS 其實就是HTTP的升級版,在HTTP上又加了一層處理加密信息的模塊【HTTPS=HTTP + SSL/TSL】。服務端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸的數據都是加密后的數據。這樣就避免了敏感信息被第三方獲取。

          ② 在手機端安裝SSL證書

          • Android 手機

          將Android手機與 Charles 進行連接,輸入好IP地址和端口號后,打開Charles的證書,直接將證書安裝在Android手機上。

          然后在手機瀏覽器中打開『chls.pro/ssl』地址,打開后安裝證書到本地,顯示下載完成后,在文件管理中找到剛剛下載的證書,將后綴為 prem 的文件,更改擴展名變為crt。變更完成后點擊證書進行安裝,選擇證書安裝程序,為證書命名,點擊確定后彈出"已安裝『命名』",則成功安裝。

          • ios 手機

          ios 手機也在WIFI中連接打開Charles的電腦IP,同android的Charles下載證書的步驟,將證書下載到iOS手機上。然后在手機Safari瀏覽器中也輸入chls.pro/ssl,則彈出圖1彈窗,點擊允許,進入安裝步驟,點擊安裝,進入警告,點擊安裝,則安裝完成。之后在設置→ 關于本機→ 證書信任設置 → 找到剛安裝的證書,將開關打開,即安裝完成。

          ③ 激活Charles的SSL代理

          ④ 將指定的URL請求開啟SSL代理功能

          如果點擊某一個請求后發現是亂碼,則需要將指定的URL請求開啟SSL代理功能。【開啟后,enabled是置灰的】

          ⑤ 抓包流程與HTTP抓包流程相同

          至此,可以進行數據的分析

          (4)Charles 其他操作

          ① 弱網模擬

          打開弱網設置模塊如下圖,勾選允許弱網調試后,在下面的參數中調整弱網的參數:

          ② 修改請求和響應的內容

          設置Charles的斷點:

          對指定的URL開啟斷點功能:

          編輯請求與響應的內容:

          • 編輯請求:點擊edit Request編輯請求的內容,編輯完成后點擊execute,發出去這個請求給服務端

          • 編輯響應:點擊edit response,可對響應內容進行編輯,完成后點擊 execute,將修改后的數據發送給客戶端

          ③ 視圖切換和關鍵字篩查

          Charles主要提供兩種視圖:

          • Structure:視圖將網絡請求按照訪問的域名分類
          • Sequence:視圖將網絡請求按照訪問的時間排序

          如果響應的請求太多了,可以進行篩選:

          ④ 標識

          開啟以上設置的標識如下:

          • 第一個:SSL設置
          • 第二個:弱網控制
          • 第三個:斷點設置


          (5)vConsole 手機端調試利器

          github: https://github.com/Tencent/vConsole

          一個輕量、可拓展、針對手機網頁的前端開發者調試面板。

          特性

          • 查看 console 日志
          • 查看網絡請求
          • 查看頁面 element 結構
          • 查看 Cookies、localStorage 和 SessionStorage
          • 手動執行 JS 命令行
          • 自定義插件

          怎么發現此工具的了?
          在調用微信接口掃一掃功能,使用alert來調試查看是否返回結果消息,最后發現很多次沒有結果信息返回,還懷疑是否微信接口不穩定,后來發并不是沒有返回結果,alert的原因,使用vConsole就可以查看返回結果信息,此工具在小程序當中也有出現

          我們常用到的就是日志輸出,和瀏覽器緩存localStorage
          此前掌銀項目緩存登錄使用的就是localStorage,測試時不方便,有了此工具點擊菜單欄的clear就可以清楚緩存


          1.png

          2.png

          3.png

          5.png

          6.png

          2、安裝

          1:js直接引用,下載最新版https://github.com/Tencent/vConsole/releases/latest

          <script src="vconsole.min.js"></script>
          <script>
            // 初始化
            var vConsole=new VConsole();
            console.log('Hello world');
          </script>

          2:npm下載

          npm install vconsole -S
          

          3、簡單使用

          在主js中:
          import VConsole from 'vconsole'
          const vConsole=new VConsole()
          Vue.use(vConsole)
          console.info("vconsole-info-測試")

          4、webpack 版插件

          安裝

          npm install vconsole-webpack-plugin -D
          

          在vue.config.js中設置:

          configureWebpack: config=> {
              config.plugins.push(
                  //手機端調試
                  new vConsole({
                  filter: [],     // 需要過濾的入口文件
                  enable: isVConsole===true      // 生產環境不打開
                  })
              )
          }

          5:打印日志

          與 PC 端打印 log 一致,可直接使用 console.log() 等方法直接打印日志:

          console.log('Hello World');

          未加載 vConsole 模塊時,console.log() 會直接打印到原生控制臺中;加載 vConsole 后,日志會打印到頁面前端+原生控制臺。

          日志類型

          支持 5 種不同類型的日志,會以不同的顏色輸出到前端面板:

          console.log('foo');   // 白底黑字
          console.info('bar');  // 白底紫字
          console.debug('oh');  // 白底黃字
          console.warn('foo');  // 黃底黃字
          console.error('bar'); // 紅底紅字

          支持以下 console 方法:

          console.time('foo');    // 啟動名為 foo 的計時器
          console.timeEnd('foo'); // 停止 foo 計時器并輸出經過的時間

          Object/Array 結構化展示
          支持打印 Object 或 Array 變量,會以結構化 JSON 形式輸出(并折疊):

          var obj={};
          obj.foo='bar';
          console.log(obj);

          多態
          支持傳入多個參數,會以空格隔開:

          var uid=666;
          console.log('UserID:', uid); // 打印出 UserID: 233

          6:公共屬性及方法

          //當前 vConsole 的版本號。
          vConsole.version
          //顯示 vConsole 主面板
          vConsole.show()
          //隱藏 vConsole 主面板
          vConsole.hide()
          //析構一個 vConsole 對象實例,并將 vConsole 面板從頁面中移除。
          var vConsole=new VConsole();
          vConsole.destroy();
          //顯示 vConsole 的開關按鈕。
          vConsole.showSwitch()
          //隱藏 vConsole 的開關按鈕
          vConsole.hideSwitch()
          
          

          vConsole.option配置項。

          7.png

          // get
          vConsole.option //=> {...}
          // set
          vConsole.setOption('maxLogNumber', 5000);
          // 或者:
          vConsole.setOption({maxLogNumber: 5000});

          如果你覺得有用的話,請點贊我,關注我,最后,感謝你的閱讀,編程愉快!

          歌瀏覽器是webkit內核的瀏覽器,如果我們要切換到兼容模式該怎么操作呢?小編可以告訴大家這個是需要第三方插件的,下面小編就來告訴大家谷歌瀏覽器怎么設置兼容模式。

          • 軟件版本:
          • 軟件大小:
          • 軟件授權:
          • 適用平臺:
          • http://dl.pconline.com.cn/download/51614.html

          1、進入到谷歌瀏覽器的網上應用商店,搜索“ie tab”,在搜索結果的擴展程序里,找到“ie tab ”或 “ie muti tab”,點擊下方的“免費”按鈕進行安裝

          2、彈出確認安裝提示,選擇“添加”按鈕

          3、安裝完畢后,即會彈出插件的具體設置,默認情況我們不需要改動,點擊保存,關閉即可

          4、如果想要當前的網頁以兼容模式打開,只需要點擊上方的“ipa”按鈕,即可轉換,十分方便

          做前端開發的朋友經常需要使用Visual Studio Code編輯代碼,很多朋友就想在VSCode調試JS代碼,下面我們就介紹下如何配置操作。

          一、環境準備

          首先安裝好VSCode,準備好一個JS項目,在VSCode中安裝插件Debugger for Chrome (如下圖操作搜索安裝即可)。


          二、修改配置文件

          1. 使用VSCode打開項目

          沒有可以測試項目的可以使用HBuilder等工具新建一個Web項目進行測試,如下:


          然后,使用VSCode打開上述項目,如下:


          2. 設置斷點


          按F5鍵,在彈出的下拉列表中選擇Chrome。


          然后打開launch.json配置文件如下:


          在configurations內部添加如下內容:

          
          1.  `{`
          
          2.  `"name": "使用本機 Chrome 調試",`
          
          3.  `"type": "chrome",`
          
          4.  `"request": "launch",`
          
          5.  `"file": "${workspaceRoot}/index.html",`
          
          6.  `//  "url": "http://mysite.com/index.html", //使用外部服務器時,請注釋掉 file, 改用 url, 并將 useBuildInServer 設置為 false "http://mysite.com/index.html`
          
          7.  `"runtimeExecutable": "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", // 改成您的 Chrome 安裝路徑`
          
          8.  `"sourceMaps": true,`
          
          9.  `"webRoot": "${workspaceRoot}",`
          
          10.  `//  "preLaunchTask":"build",`
          
          11.  `"userDataDir":"${tmpdir}",`
          
          12.  `"port":5433`
          
          13.  `}`
          
          

          添加后,內容如下:


          3. 更改調試方式


          4. 調試

          如下圖,按F5,點擊相應的按鈕或按響應快捷鍵即可控制斷點執行。



          最后

          還有問題的朋友,歡迎在評論區給我留言。


          主站蜘蛛池模板: 国产精品亚洲综合一区| 三上悠亚亚洲一区高清| 夜精品a一区二区三区| 精品国产aⅴ无码一区二区| 亚洲电影一区二区| 无码精品国产一区二区三区免费| 美女啪啪一区二区三区| 国产激情视频一区二区三区| 午夜福利一区二区三区高清视频 | 波多野结衣中文字幕一区| 久久精品无码一区二区三区不卡| 国产精品一区视频| 亚洲AV网一区二区三区| 午夜性色一区二区三区不卡视频 | 极品少妇伦理一区二区| 深夜福利一区二区| 狠狠色成人一区二区三区| 看电影来5566一区.二区| 久久精品亚洲一区二区三区浴池| 久久无码AV一区二区三区| 亚洲av无一区二区三区| 国产精品一区二区无线| 精品人妻少妇一区二区三区在线| 农村人乱弄一区二区| 国产精品揄拍一区二区久久| 精品国产一区二区三区AV| 日本美女一区二区三区| 精品欧美一区二区在线观看| 日韩在线观看一区二区三区| 亚洲毛片不卡av在线播放一区| 国内国外日产一区二区| 无码播放一区二区三区| 风流老熟女一区二区三区| 秋霞午夜一区二区| 日本国产一区二区三区在线观看 | 久久亚洲色一区二区三区| 亚洲一区AV无码少妇电影☆| 97一区二区三区四区久久| 精品视频一区二区观看| 少妇精品无码一区二区三区| 亚洲精品无码一区二区|