Я пытаюсь отследить все ссылки, на которые нажала Google Analytics, как события. Поэтому я написал несколько jQuery, чтобы уловить это. Я только начинаю с jQuery, так что я не знаю, делаю ли я это наиболее эффективным способом, поэтому я хотел бы получить отзывы или предложения о том, как улучшить код. Чем проще и быстрее, тем лучше отслеживание аналитики.
РЕДАКТИРОВАТЬ: Вот последний код. Я не могу понять, почему последняя кнопка и с 3-го до последнего возвращают неопределенные значения.
http://jsfiddle.net/uqj88/
Вот код, который у меня есть:
$(document).ready( function() {
var pageURL = window.location.pathname;
var linkText;
$('a').click(function (e) {
if ($(this).text() != ""){
linkText = $(this).text();
}
else if (($(this).text() === "") && ($(this).children("img") != "") && ($(this).children("img").attr("alt") != "")) {
linkText = $(this).children("img").attr("alt");
}
else if (($(this).text() === "") && ($(this).children("img") != "") && ($(this).children("img").attr("alt") === "")) {
linkText = $(this).children("img").attr("src").split("/").pop();
}
_gaq.push(['_trackEvent', pageURL, 'click', linkText]);
if (($(this).attr('target') != '_blank') || ($(this).attr('target') != '#')) {
e.preventDefault();
setTimeout('document.location = "' + $(this).attr('href') + '"', 150);
}
});
$('button').click(function () {
linkText = $(this).text();
_gaq.push(['_trackEvent', pageURL, 'click', linkText]);
});
$("input[type='submit']").click(function () {
if ($(this).attr("value") != ""){
linkText = $(this).attr("value");
}
else if (($(this).attr("value") === "") && ($(this).prop("id") != "")) {
linkText = $(this).prop("id");
}
else if (($(this).attr("value") === "") && ($(this).prop("class") != "")) {
linkText = $(this).prop("class");
}
else {
linkText = "button";
}
_gaq.push(['_trackEvent', pageURL, 'click', linkText]);
});
});