最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Javascript監(jiān)控前端相關(guān)數(shù)據(jù)的代碼

 更新時(shí)間:2016年10月27日 10:33:30   作者:chenpingzhao  
本篇文章詳細(xì)的介紹了使用Javascript監(jiān)控前端相關(guān)數(shù)據(jù),可以及時(shí)的監(jiān)控前端的錯(cuò)誤,加載時(shí)間等,有需要的可以了解一下。

本篇文章介紹了Javascript監(jiān)控前端相關(guān)數(shù)據(jù),項(xiàng)目開發(fā)完成外發(fā)后,沒有一個(gè)監(jiān)控系統(tǒng),我們很難了解到發(fā)布出去的代碼在用戶機(jī)器上執(zhí)行是否正確,所以需要建立前端代碼性能相關(guān)的監(jiān)控系統(tǒng)。

所以我們需要做以下的一些模塊:

一、收集腳本執(zhí)行錯(cuò)誤

function error(msg,url,line){
  var REPORT_URL = "xxxx/cgi"; // 收集上報(bào)數(shù)據(jù)的信息
  var m =[msg, url, line, navigator.userAgent, +new Date];// 收集錯(cuò)誤信息,發(fā)生錯(cuò)誤的腳本文件網(wǎng)絡(luò)地址,用戶代理信息,時(shí)間
  var url = REPORT_URL + m.join('||');// 組裝錯(cuò)誤上報(bào)信息內(nèi)容URL
  var img = new Image;
  img.onload = img.onerror = function(){
   img = null;
  };
  img.src = url;// 發(fā)送數(shù)據(jù)到后臺(tái)cgi
}
// 監(jiān)聽錯(cuò)誤上報(bào)
window.onerror = function(msg,url,line){
  error(msg,url,line);
}

通過管理后臺(tái)系統(tǒng),我們可以看到頁面上每次錯(cuò)誤的信息,通過這些信息我們可以很快定位并且解決問題。

 二、收集html5 performance信息

performance 包含頁面加載到執(zhí)行完成的整個(gè)生命周期中不同執(zhí)行步驟的執(zhí)行時(shí)間。performance相關(guān)文章點(diǎn)擊如下:使用performance API 監(jiān)測(cè)頁面性能

計(jì)算不同步驟時(shí)間相對(duì)于navigationStart的時(shí)間差,可以通過相應(yīng)后臺(tái)CGI收集。

function _performance(){
  var REPORT_URL = "xxxx/cgi?perf=";
  var perf = (window.webkitPerformance ? window.webkitPerformance : window.msPerformance ),
   points = ['navigationStart','unloadEventStart','unloadEventEnd','redirectStart','redirectEnd','fetchStart','domainLookupStart','connectStart','requestStart','responseStart','responseEnd','domLoading','domInteractive','domContentLoadedEventEnd','domComplete','loadEventStart','loadEventEnd'];
  var timing = pref.timing;
  perf = perf ? perf : window.performance;
  if( perf && timing ) {
   var arr = [];
   var navigationStart = timing[points[0]];
   for(var i=0,l=points.length;i<l;i++){
     arr[i] = timing[points[i]] - navigationStart;
   }
  var url = REPORT_URL + arr.join("-");
  var img = new Image;
  img.onload = img.onerror = function(){
   img=null;
  }
  img.src = url;
}

通過后臺(tái)接口收集和統(tǒng)計(jì),我們可以對(duì)頁面執(zhí)行性能有很詳細(xì)的了解。

三、統(tǒng)計(jì)每個(gè)頁面的JS和CSS加載時(shí)間

在JS或者CSS加載之前打上時(shí)間戳,加載之后打上時(shí)間戳,并且將數(shù)據(jù)上報(bào)到后臺(tái)。加載時(shí)間反映了頁面白屏,可操作的等待時(shí)間。

<script>var cssLoadStart = +new Date</script>
<link rel="stylesheet" href="xxx.css" type="text/css" media="all">
<link rel="stylesheet" href="xxx1.css" type="text/css" media="all">
<link rel="stylesheet" href="xxx2.css" type="text/css" media="all">
<sript>
  var cssLoadTime = (+new Date) - cssLoadStart;
  var jsLoadStart = +new Date;
</script>
<script type="text/javascript" src="xx1.js"></script>
<script type="text/javascript" src="xx2.js"></script>
<script type="text/javascript" src="xx3.js"></script>
<script>
  var jsLoadTime = (+new Date) - jsLoadStart;
  var REPORT_URL = 'xxx/cgi?data='
  var img = new Image;
  img.onload = img.onerror = function(){
   img = null;
  };
  img.src = REPORT_URL + cssLoadTime + '-' + jsLoadTime;
</script>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)紅包雨功能

    微信小程序?qū)崿F(xiàn)紅包雨功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)紅包雨功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • javascript事件冒泡和事件捕獲詳解

    javascript事件冒泡和事件捕獲詳解

    最近在學(xué)習(xí)javascript中遇到了一些困難,比如冒泡和捕獲,很多次被提到,但又不知究竟應(yīng)用在何處。找到了一些好文章解惑,在這里分享給大家。
    2015-05-05
  • 微信小程序?qū)崿F(xiàn)自定義picker選擇器彈窗內(nèi)容

    微信小程序?qū)崿F(xiàn)自定義picker選擇器彈窗內(nèi)容

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)自定義picker選擇器彈窗內(nèi)容,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 通用的加入收藏夾代碼支持IE Firefox等瀏覽器

    通用的加入收藏夾代碼支持IE Firefox等瀏覽器

    通用的加入收藏夾代碼支持IE Firefox等瀏覽器...
    2007-06-06
  • 淺談JS中幾種輕松處理''this''指向方式

    淺談JS中幾種輕松處理''this''指向方式

    這篇文章主要介紹了淺談JS中幾種輕松處理'this'指向方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • JavaScript事件學(xué)習(xí)小結(jié)(一)事件流

    JavaScript事件學(xué)習(xí)小結(jié)(一)事件流

    這篇文章主要介紹了JavaScript事件學(xué)習(xí)小結(jié)(一)事件流的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • JavaScript一文帶你玩轉(zhuǎn)web表單網(wǎng)頁

    JavaScript一文帶你玩轉(zhuǎn)web表單網(wǎng)頁

    表單通常用來收集網(wǎng)頁訪問者信息,常見的表單比如搜索引擎的搜索框、各網(wǎng)頁應(yīng)用的注冊(cè)或者登陸界面等,通讀本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 使用SVG基本操作API的實(shí)例講解

    使用SVG基本操作API的實(shí)例講解

    下面小編就為大家?guī)硪黄褂肧VG基本操作API的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • JS二進(jìn)制流文件下載導(dǎo)出(接口返回二進(jìn)制流)亂碼處理方法

    JS二進(jìn)制流文件下載導(dǎo)出(接口返回二進(jìn)制流)亂碼處理方法

    這篇文章主要介紹了JS二進(jìn)制流文件下載導(dǎo)出(接口返回二進(jìn)制流)亂碼處理方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • js全選按鈕的實(shí)現(xiàn)方法

    js全選按鈕的實(shí)現(xiàn)方法

    在我們進(jìn)行項(xiàng)目選擇時(shí),會(huì)出現(xiàn)選擇多個(gè)項(xiàng)目或者是項(xiàng)目實(shí)現(xiàn)全選,這樣的功能如何實(shí)現(xiàn)吶,本文給出了js實(shí)現(xiàn)checkbox全選的詳細(xì)代碼,希望大家喜歡。
    2015-11-11

最新評(píng)論

河南省| 林甸县| 黎平县| 天津市| 达尔| 阿克陶县| 蓬溪县| 舟曲县| 阿尔山市| 玉田县| 尚志市| 襄垣县| 文安县| 拉孜县| 项城市| 葫芦岛市| 固阳县| 伊宁县| 富源县| 镇康县| 吉首市| 霍林郭勒市| 炉霍县| 东海县| 嵩明县| 富裕县| 贵港市| 任丘市| 德保县| 中宁县| 东明县| 大方县| 吐鲁番市| 常熟市| 天水市| 龙口市| 乃东县| 长阳| 诸暨市| 西华县| 乐昌市|