如何解决在Google Analytics分析中捕获JavaScript错误
我希望在“ ga(function(tracker)”函数内发生错误时调用window.onerror处理程序。显然ga函数具有其自己的错误处理程序,可以防止window.onerror处理程序被调用。 / p>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
window.onerror = function() {console.log('Hello world') };
ga('create','********','********');
ga(function(tracker) {
console.log('Start');
/*
Variable y is undefined
window.onerror should be invoked
*/
var x = y;
console.log('End');
});
ga('send','pageview');
请明确。我的问题不是如何使用Google Analytics(分析)跟踪错误,而是如何在Google Analytics(分析)脚本中捕获错误。
解决方法
使用自定义try..catch
和dispatchEvent
会有所帮助:
ga('create','********','********');
// declaring readyCallback function
var initFunction = function(tracker) {
console.log('Start');
/*
Variable y is undefined
window.onerror should be invoked
*/
var x = y;
console.log('End');
}
// Wrapping your readyCallback with custom try...catch:
var initFunctionWrapped = function (tracker) {
try {
initFunction(tracker)
} catch (e) {
var event = new Event('error',e);
window.dispatchEvent(event)
}
ga(initFunctionWrapped);
ga('send','pageview');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。