<script>
/* Добавить UTM ко всем ссылкам страницы */
document.addEventListener('DOMContentLoaded', function(){
var urlParams = '';
// Разбираем текущий линк и получаем параметры
if ( window.location.hash && window.location.hash.indexOf("?") > 0 ) {
let urlParts = window.location.hash.split('?');
let clearUrl = window.location.href.split('#')[0] + '?' + urlParts[1];
urlParams = urlParts[1];
} else if ( window.location.href.indexOf("?") > 0 ) {
urlParams = window.location.href.split('?')[1];
}
// Если параметры есть, то добавляем их к ссылкам страницы
if ( urlParams ) {
// Получаем все ссылки страницы
let pageLinks = document.querySelectorAll('a');
// Разбираем каждую ссылку и анализируем, как добавить к ней текущие параметры
// Ссылки могут быть уже с параметрами или с хешем
pageLinks.forEach( el => {
// Новая ссылка для href
let newLinkHref = '';
// Если есть хеш и параметры
if ( el.href.indexOf("?") > 0 && el.href.indexOf("#") > 0 ) {
// Если этих параметров еще нет в ссылке
if ( el.href.indexOf(urlParams) < 1 ) {
let aHrefParts = el.href.split('?');
newLinkHref = aHrefParts[0] + '?' + urlParams + '&' + aHrefParts[1];
} else {
newLinkHref = el.href;
}
// Если есть только хеш
} else if ( el.href.indexOf("#") > 0 ) {
// Если этих параметров еще нет в ссылке
if ( el.href.indexOf(urlParams) < 1 ) {
let aHrefParts = el.href.split('#');
newLinkHref = aHrefParts[0] + '?' + urlParams + '#' + aHrefParts[1];
} else {
newLinkHref = el.href;
}
// Если есть только параметры
} else if ( el.href.indexOf("?") > 0 ) {
// Если этих параметров еще нет в ссылке
if ( el.href.indexOf(urlParams) < 1 ) {
let aHrefParts = el.href.split('?');
newLinkHref = aHrefParts[0] + '?' + urlParams + '&' + aHrefParts[1];
} else {
newLinkHref = el.href;
}
// Если ссылка без параметров и хеша
} else {
newLinkHref = el.href + '?' + urlParams;
}
el.href = newLinkHref;
});
}
});
</script>