91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

移動web開發調試工具AlloyLever怎么用

發布時間:2021-12-29 16:09:17 來源:億速云 閱讀:279 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關移動web開發調試工具AlloyLever怎么用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

簡介

web調試有幾個非常頻繁的剛需:看log、看error、看AJAX發包與回包。其他的如timeline和cookie以及localstorage就不是那么頻繁,但是AlloyLever都支持。

特征

  • 點擊alloylever按鈕之間切換顯示或隱藏工具面板

  • Console會輸出所有用戶打印的日志如console.[log/error/info/debug/debug]

  • Console會輸出所有的錯誤信息(腳本錯誤和網絡請求錯誤)

  • XHR面板會輸出所有(XMLHttpRequest)AJAX請求和服務器端返回的數據

  • Resouces面板會輸出所有的Cookie信息和LocalStorage

  • TimeLime面板會輸出頁面相關的生命周期里的時間段耗時情況

Install

可以通過npm安裝:

npm install alloylever

使用

你的頁面只需要引用一個js即可!

<script src="alloylever.js"></script>

但是需要注意的是,該js必須引用在其他腳本之前。至于為什么,看下面的原理。

Console截獲

window.console = {
    wc: window.console};var self = this;['log', 'error', 'warn', 'debug', 'info'].forEach(function (item) {
    console[item] = function (msg) {
        this.wc[item](msg);
        self.log(msg, item);
    }});

重寫了console方法,并且保存下window下真正的方法進行執行,并且注入自己的事件。

AJAX截獲

var XHR = window.XMLHttpRequest;window.XMLHttpRequest=function(){
    var xhr = new XHR();
    checkSuccess(xhr);
    return xhr;};window.XMLHttpRequest.realXHR = XHR;var self=this;function checkSuccess(xhr) {
    if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
        self.option.xhrs.push({url:xhr.responseURL, json:JSON.stringify(JSON.parse( xhr.responseText), null, "\t")})    }else if(xhr.status>=400) {
        console.error(xhr.responseURL +' '+xhr.status+' ('+xhr.statusText+')')    }
    else{
        window.setTimeout(function () {
            checkSuccess(xhr);
        }, 0);
    }}

如上面所示,重寫了XMLHttpRequest對象。用戶new的對象全部為重寫后的,返回的是真正的。這樣就可以拿到所有用戶創建的XMLHttpRequest對象的實例進行監聽。

Error截獲

其中error包含兩部分,第一部分是js報的錯誤,通過下面的方式截獲:

window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {
    console.error('Error: ' + errorMsg + ' Script: ' + url + ' Line: ' + lineNumber        + ' Column: ' + column + ' StackTrace: ' + errorObj);}

這里執行的時候console已經被重寫了。所以自己的console面板也能看到錯誤。

第二部分是資源加載失敗報的錯,通過遍歷HTML dom節點拿到所有的 js/css/img,然后再次發送請求。js和css通過XMLHttpRequest發請求,監聽狀態。,img通過new Image(),監聽onerror。

Timeline通過timing.js獲得所有信息,timing.js基于window.performance封裝的類庫。Cookie和localStorage通過js遍歷得到。

以上就是移動web開發調試工具AlloyLever怎么用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南木林县| 确山县| 楚雄市| 清河县| 古交市| 柳河县| 镇沅| 乳山市| 凤山市| 三穗县| 东阿县| 榆树市| 林周县| 封丘县| 资讯| 韶山市| 会理县| 门源| 陈巴尔虎旗| 昌乐县| 汉沽区| 休宁县| 瑞昌市| 招远市| 沂水县| 泰来县| 无极县| 禄丰县| 新乡县| 锦州市| 横山县| 凌云县| 正镶白旗| 长白| 汝阳县| 玛多县| 泗水县| 旬邑县| 天祝| 西藏| 阿巴嘎旗|