u-spa
Version:
SPA应用监控工具,监听url变化、首屏加载指标、js-error、image-error 并上报
38 lines (37 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var utils_1 = require("./utils");
var uploadData_1 = require("./uploadData");
var initRequestUrlValue = '';
var initHostUrlValue = '';
var initCookieNameValue = '';
function fn() {
var timing = performance.getEntriesByType('navigation')[0];
var TTI = timing.domInteractive - timing.fetchStart; // 首次可交互时间
var L = timing.loadEventStart - timing.fetchStart; // 页面完全加载时间
var FP = timing.responseEnd - timing.fetchStart; // 白屏时间
var obj = {
TTI: TTI,
L: L,
FP: FP
};
var userName = (0, utils_1.getUserName)(initCookieNameValue);
var reqObj = {
type: 'performance',
userName: userName,
value: JSON.stringify(obj),
userAgent: navigator.userAgent,
visitUrl: location.href, // 访问地址
};
if (initHostUrlValue === location.host) {
(0, uploadData_1.postRequest)(initRequestUrlValue, reqObj);
}
}
function performanceInitFn(obj) {
var requestUrl = obj.requestUrl, hostUrl = obj.hostUrl, cookieNameKey = obj.cookieNameKey;
initRequestUrlValue = requestUrl;
initHostUrlValue = hostUrl;
initCookieNameValue = cookieNameKey;
window.addEventListener('load', fn);
}
exports.default = performanceInitFn;