Я создаю пересылку параметров URL. Скрипт ищет параметры в URL и добавляет их в href. но теперь мне нужно предположение. Вот код на данный момент:
<script>
var link = document.getElementsByTagName("a:not(#)");
for (var i = 0; i < link.length; i++) {
link[i].href = link[i].href.replace(/(\?)utm[^&]*(?:&utm[^&]*)*&(?=(?!utm[^\s&=]*=)[^\s&=]+=)|\?utm[^&]*(?:&utm[^&]*)*$|&utm[^&]*/gi, '$1');
}
</script>
<script type="text/javascript">
jQuery( document ).ready( function( $ ) {
function getUrlVars() {
var vars = [],
hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
var parameters = getUrlVars();
var utm_source = decodeURIComponent(parameters['utm_source']);
var utm_campaign = decodeURIComponent(parameters['utm_campaign']);
var utm_medium = decodeURIComponent(parameters['utm_medium']);
var xtor = decodeURIComponent(parameters['xtor']);
console.log("utm source=" + utm_source);
console.log("utm_campaign=" + utm_campaign);
console.log("utm_medium=" + utm_medium);
console.log("xtor=" + xtor);
$('a:not([href^="#"])').each(function() {
$(this).attr('href', $(this).attr('href') + '?xtor=' + xtor + '&utm_source=' + utm_source + '&utm_campaign=' + utm_campaign + '&utm_medium=' + utm_medium);
});
});
</script>
Я ищу решение, которое добавляет параметры к каждой ссылке, но когда ссылка содержит example.com
, ?xtor
должно быть #xtor