本文介绍信息报告类WVReporter相关的JS API,供您在通过跨平台DevOps创建H5端应用或者小程序时参考。信息报告类WVReporter的JS API提供报告页面信息相关的能力,例如报告页面的JS错误、首字节时间和DomLoad事件时间。
WVReporter.reportDomLoad
报告当前页面的首字节时间和DomLoad事件时间,供H5性能埋点使用。
WindVane iOS 8.2.0 或更高版本
中,WindVane会自动捕获DOMContentLoaded
事件的时间,与页面自己的埋点不会产生冲突。
输入参数
[
number
]firstByte:当前页面的首字节时间(单位:毫秒),可通过使用Date.now()
获得。[
number
]time:当前页面的DomLoad事件时间(单位:毫秒),可通过使用Date.now()
获得。
回调参数
无回调参数,如果报告信息成功,则进入success
回调,否则进入failure
回调。
(function () {
var firstByteTime = Date.now();
document.addEventListener("DOMContentLoaded", function () {
if (window.WindVane) {
var params = {
firstByte: firstByteTime,
time: Date.now()
};
window.WindVane.call("WVReporter", "reportDomLoad", params);
}
}, false);
})();
WVReporter.reportError
报告当前页面的JS错误,会通过AppMonitor的WindVane:JavaScriptError埋点上传。
WindVane iOS 8.2.0或更高版本中,WindVane会自动捕获JS错误,并设置from = 'WindVane'
,便于与业务方自己的埋点区分开来。
输入参数
[
string
]file:发生JS错误的JS文件。[
string
]url:(可选)要上传的URL,默认使用当前页面的URL。[
string
]msg:JS错误信息。[
string
]line:发生JS错误的JS行号。[
string
]col:发生JS错误的JS列号。[
string
] tack:发生JS错误的JS堆栈。[
string
]from:(可选)错误埋点的来源,用于区分同样的错误被多次捕获。
回调参数
无回调参数,如果报告信息成功,则进入success
回调,否则进入failure
回调。
示例
(function () {
if (window.WindVane) {
var oldOnError = window.onerror
window.onerror = function (message, file, lineno, colno, error) {
var params = {
file: file,
msg: message
line: lineno,
col: colno,
stack: error ? error.stack : ''
};
window.WindVane.call("WVReporter", "reportError", params);
if (oldOnError) {
return oldOnError(message, file, lineno)
}
return false
}
}
})();