>>>點擊獲取更多文章<<<javascript
下面核心代碼:html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script type="text/javascript"> (function () { try { var report = function (id, obj,eventtype) { obj.pageurl = location.href; obj.ua = navigator.userAgent; var json = "{ "; for (var i in obj) { json += "" + i + ":" + obj[i] + ", " } json += "}"; var src = "http://www.xxx.com/logservice?eventtype=" + eventtype + "&eventid=" + id + "&extend="; var img = new Image(); img.src = src + encodeURIComponent(json); img.onload = img.onerror = function () { img = null } }; if (window.addEventListener) { var ingore = ["localhost"]; window.addEventListener("error", function (e) { //抓取文件404報錯 if (e.target && e.target.src) { var obj = {}; obj.file = e.target.src; for (var i = 0, len = ingore.length; i < len; i++) { if (obj.file.indexOf(ingore[i]) > -1) { return } } report(404, obj,'jserror'); } }, true); } window.onerror = function (msg, file, line) { //抓取js常規報錯 var obj = {}; obj.errmsg = msg; obj.errfile = file; obj.errline = line; report(500, obj,'jserror'); } window.onload = function() { setTimeout(function() { if (window.performance && window.performance.timing) { //抓取頁面性能時間 var perf = window.performance.timing ,obj = {}; var arr = ['navigationStart','domainLookupEnd','connectEnd','domContentLoadedEventEnd','loadEventEnd']; arr.forEach(function(curv,i){ obj[curv] = perf[curv]; }); report(200, obj,'performance'); } },1000); } } catch (e) {} })(); </script> </head> <body> <img src="http://www.test.com/aa.jpeg"> <img src="http://www.test.com/bb.jpeg"> <script type="text/javascript"> showme1(); </script> </body> </html>
注意 註釋 的「抓取文件404報錯」,「抓取js常規報錯」,「抓取頁面性能時間」,代碼很好理解,將整個操做放在閉包內執行,以避免污染外面。 這段代碼必須放在head標籤頭部內,若頭部有js外聯,那該段代碼必須放在js外聯之上,若將這段代碼放置在http://www.xxx.com/logservice.js,那代碼以下:前端
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script type="text/javascript" src="http://www.xxx.com/logservice.js"></script> <script type="text/javascript" src="其餘js"></script> </head> <body> //常規業務代碼 </body> </html>
在獲取頁面性能時間方面,先獲取,後臺再去計算。關於window.performance 方面,文章不少,具體裏面每一個單詞表明的時間意義,能夠自行搜查文檔。如:前端性能監控方案window.performance 調研(轉)。java