Есть код, он добавляет отпечаток в форму регистрации:
window.addEventListener('load', function() {
new Fingerprint2().get(function(result, components){
var input = document.createElement('input');
input.type = 'hidden';
input.name = 'fgpr';
input.value = result;
document.forms['regform'].appendChild(input);
});
}, false);
Есть также группа ссылок
<div id="social_gr">
<a href="{$fsbk_lnk}" class="btn_fb">войти</a>
<a href="{$vkon_lnk}" class="btn_vk">войти</a>
</div>
Необходимо при клике на ссылку в этой группе динамически "приклеивать" отпечаток (Т.е. значение, которое присваивается input-у: input.value = result) в виде GET параметра в конец текущей ссылки. Как это сделать?
Чтобы решить вашу большую сложную задачу, нужно решить несколько маленьких простых задач:
Назначить обработчик события click на ссылках в группе #social_gr
var links = document.getElementById('social_gr').getElementsByTagName('a');
for (var i = 0, len = links.length; i < len; i++) {
links[i].addEventListener('click', onclick, false);
}
Добавить параметр к ссылке
// link - это элемент `a`
if (link.href.indexOf('?') === -1) {
// если в ссылке не содержатся другие параметры
link.href += '?fgpr=' + getFingerprint();
} else {
// если в ссылке уже содержатся другие параметры
link.href += '&fgpr=' + getFingerprint();
}
Или укороченная запись с использованием тернарного оператора
link.href += (link.href.indexOf('?') === -1 ? '?' : '&') + 'fgpr=' + getFingerprint();
Получить значение отпечатка из input
var fingerprint = document.getElementsByName('fgpr')[0].value;
Полный рабочий код примера на CodePen
Можно добавить с помощью history без перезагрузки страницы
history.pushState({}, document.title, window.location.href + '?test=1')
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости