У меня ниже кода GA в моем javascript. Метод window.addEventListener фиксирует любую неработающую ссылку или изображения, которые приводят к 404 и вызывает метод _gaq.push. Ниже код работает отлично для всех неработающих ссылок/изображений, но не вызывает увольнения _gaq, если сломанное изображение из css файла. Я проверил в браузере мой js файл загружается до моего файла css. Ниже приведена последовательность файлов, получающих loaded-
-common.js
-common.css
-xyz
-xyz
-ga.js: инициатор common.js, но загружен после common.css
Ниже мой GA code-
var _gaq = _gaq || [];
_gaq.push([ '_setAccount', 'UA-34xxxxx-1' ]);
_gaq.push([ '_trackPageview' ]);
(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = 'https://ssl.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
window.addEventListener('error', function(e) {
_gaq.push([ '_trackEvent', '404 myapp', 'Missing Element',
e.target && e.target.src ? e.target.src : '', 1 ]);
}, true);
URL-адрес, который является failing-
.myTool {
background: url("../images/common/my-tool.jpg") no-repeat 0 0;
}
Событие onerror требует/поддерживает только определенные теги html: https://www.w3schools.com/jsref/event_onerror.asp https://www.w3schools.com/jsref/event_onerror_media.asp
и происходит из событий HTML5 Server-Sent.
Так как "в CSS" dowloadables не содержат ни одного из вышеупомянутых, событие onerror никогда не запускается