摘要:做移動端開發(fā)的一大痛點(diǎn)就是,在真機(jī)運(yùn)行下無法查看日志和其他信息如網(wǎng)絡(luò)請求顯示本地存儲等信息。是一個專為手機(jī)網(wǎng)頁前端設(shè)計(jì)的調(diào)試面板,類似的迷你版,其主要功能包括捕獲日志檢查元素狀態(tài)顯示性能指標(biāo)捕獲請求顯示本地存儲和信息瀏覽器特性檢測等等。
做移動端Web開發(fā)的一大痛點(diǎn)就是,在真機(jī)運(yùn)行下無法查看console.log日志和其他信息如網(wǎng)絡(luò)請求、顯示本地存儲等信息。如果網(wǎng)頁是運(yùn)行在手機(jī)瀏覽器中還算好,可以把網(wǎng)址在電腦上打開查看console信息,但是如果是做APP的內(nèi)嵌H5頁面,那就只能靠開發(fā)階段在瀏覽器模擬環(huán)境中盡量沒有Bug,但是,一旦H5上線后報錯那就比較麻煩了,而且還依賴APP環(huán)境才能跑的網(wǎng)頁,更加難以查找問題。如果讓移動端也擁有類似Chrome DevTools工具那豈不是很愉快么?
vConsole便是這樣一款很棒的移動端DevTools工具,由大廠企鵝出品。但本文把他定位為男二號,今天的主角男一號是:Eruda!vConsole的同類。如果你不知道怎么在移動端調(diào)試網(wǎng)頁,那么本篇文章對你很有幫助,如果你是vConsole的用戶,那么你也可嘗試一下Eruda,如果你是移動端網(wǎng)頁開發(fā)骨灰級玩家,那么可以選擇低調(diào)的忽略本文。
Eruda是誰?大家好,給大家介紹一下,這是我的.....。Eruda 是一個專為手機(jī)網(wǎng)頁前端設(shè)計(jì)的調(diào)試面板,類似 DevTools 的迷你版,其主要功能包括:捕獲 console 日志、檢查元素狀態(tài)、顯示性能指標(biāo)、捕獲XHR請求、顯示本地存儲和 Cookie 信息、瀏覽器特性檢測等等。
GitHub地址為:https://github.com/liriliri/eruda,顏值和技能都很棒的Erdua:
詳細(xì)介紹可以戳這里產(chǎn)看,我就不贅述了
這才是本文重點(diǎn)。Eruda的基本使用方法推薦使用CDN和可配置參數(shù)的形式,在頁面引入如下代碼:
;(function () { var src = "http://cdn.bootcss.com/eruda/1.2.4/eruda.min.js"; if (!/eruda=true/.test(window.location) && localStorage.getItem("active-eruda") !== "true") return; document.write(""); document.write(" eruda.init(); "); })();
eruda.init();里面可以傳入要初始化哪些面板,默認(rèn)加載所有。
這樣使用方式?jīng)]有錯,但是如果Eruda要跟著發(fā)布到線上的話,那我們要刪除這段代碼?因?yàn)檫@樣會不管你需不需要調(diào)試Eruda都會立即加載,在頁面出現(xiàn)Eruda的圖標(biāo)。我的目標(biāo)是,Eruda可以保留在頁面里,無論什么環(huán)境,只要我們想呼喚它出現(xiàn)的時候它才出現(xiàn),不需要它的時候它只是一段不會生效的普通代碼。
我想到的辦法是:首先把上述引入代碼的src放到if里,同時把localStorage改為sessionStorage,active-eruda參數(shù)也可以改個更短的名字,改后的代碼如下:
;(function () { if (!/eruda=true/.test(window.location) || sessionStorage.getItem("eruda") !== "true") return; var src = "http://cdn.bootcss.com/eruda/1.2.4/eruda.min.js"; document.write(""); document.write(" eruda.init(); "); })();
這段代碼的意思是如果URL中有參數(shù)eruda=true或者sessionStorage中eruda的值為true才加載Eruda。這樣的好處是,我們需要調(diào)試的時候可以在網(wǎng)頁URL后面加個參數(shù)即可,不需要調(diào)試的它不會加載。
然而,這在開發(fā)階段可以這樣做比較好,但是在線上環(huán)境可能要加URL參數(shù)比較麻煩。于是我想到了在頁面中點(diǎn)擊某個元素10次再加載Eruda,點(diǎn)擊10次或者更多次,然后在sessionStorage中寫入eruda=true,然后刷新當(dāng)前頁。相反,再點(diǎn)擊10次關(guān)閉Eruda。用這樣比較隱藏的方式開啟或關(guān)閉Eruda,這樣線上環(huán)境也可以自由開啟或關(guān)閉Eruda了。
例子:假如有這樣的一個頁面,里有一個標(biāo)題文字
——規(guī)則詳情——
.....
那么我們可以在h2標(biāo)簽上綁定一個click事件,加入方法名叫showEruda
——規(guī)則詳情——
.....
這樣點(diǎn)擊規(guī)則詳情10次就可以喚起Eruda了,再點(diǎn)擊10次就關(guān)閉Eruda,反正我覺得這樣挺好的。
不知道大家都是怎么用的呢?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/89385.html
摘要:引言日常工作中再牛逼的大佬都不敢說自己的代碼是完全沒有問題的,既然有問題,那就也就有調(diào)試,說到調(diào)試工具,大家可能對于還有遠(yuǎn)程調(diào)試等比較熟悉,甚至有些是我可能也沒有用過的這里噴一句吧,誰都別給我提啊,那個不叫調(diào)試工具,那叫坑爹神器,話說最近不 showImg(https://segmentfault.com/img/bVbk8zn?w=1008&h=298); 引言 ? 日常工作中再牛...
摘要:通過使用通過安裝文件對于移動端來說略重后大概。建議通過參數(shù)來控制是否加載調(diào)試器,比如初始化時可以傳入配置用于插件初始化的元素,如果不設(shè)置,默認(rèn)創(chuàng)建作為容器直接置于根結(jié)點(diǎn)下面指定要初始化哪些面板,默認(rèn)加載所有示例 Eruda 通過CDN使用: ?eruda.init(); 通過npm安裝: n...
摘要:特意對前端學(xué)習(xí)資源做一個匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對前端學(xué)習(xí)資源做一個匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會及時更新,平時業(yè)務(wù)工作時也會不定期更...
閱讀 2928·2021-10-14 09:42
閱讀 3694·2021-08-11 11:19
閱讀 3542·2019-08-30 13:57
閱讀 3120·2019-08-30 13:49
閱讀 1534·2019-08-29 18:38
閱讀 898·2019-08-29 13:16
閱讀 1850·2019-08-26 13:25
閱讀 3230·2019-08-26 13:24