javascript 使用GTM的客户端Javascript错误跟踪(谷歌分析)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 使用GTM的客户端Javascript错误跟踪(谷歌分析)相关的知识,希望对你有一定的参考价值。

/**
 * Track JS error details in Universal Analytics
 */
 
function trackJavaScriptError(e) {
  var errMsg = e.message;
  var errSrc = e.filename + ': ' + e.lineno;
  ga('send', 'event', 'JavaScript Error', errMsg, errSrc, { 'nonInteraction': 1 });
}
 
/**
 * Cross-browser event listener
 */
 
if (window.addEventListener) {
  window.addEventListener('error', trackJavaScriptError, false);
} else if (window.attachEvent) {
  window.attachEvent('onerror', trackJavaScriptError);
} else {
  window.onerror = trackJavaScriptError;
}

/**
 * Capture Ajax call error using jQuery
 * 
 * an AngularJS alternative
 * http://stackoverflow.com/questions/11971213/global-ajax-error-handler-with-angularjs
 * http://www.codelord.net/2014/06/25/generic-error-handling-in-angularjs/
 */

$(document).ajaxError(function(e, request, settings) {
  var errMsg = settings.url;
  var errSrc = e.result;

  ga('send', 'event', 'Ajax error', errMsg, errSrc, { 'nonInteraction': 1 });
});

/**
 * Global exception handeling within AngularJS
 * http://stackoverflow.com/questions/13595469/how-to-override-exceptionhandler-implementation
 */

var mod = angular.module('testApp', []);

mod.factory('$exceptionHandler', function () {
    return function (exception, cause) {
        // alert(exception.message);
        trackJavaScriptError(exception);
    };
});

以上是关于javascript 使用GTM的客户端Javascript错误跟踪(谷歌分析)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GTM 中使用 javascript 替换 dataLayer 中的参数名称

javascript 使用jQuery的GTM分析框架(事件委托,自定义事件)

GTM 在模板中发现无效的 HTML、CSS 或 JavaScript

javascript GTM事件跟踪

javascript 网络N - pcgamesn.com - GTM'自定义Javascript'变量

javascript 网络N - pockettactics.com - GTM'自定义Javascript'变量