Есть код, он добавляет отпечаток в форму регистрации:
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')
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем приветНужно сделать sleep на 2 секунды в PhantomJs, после вернуть результат, пробовал через setTimeOut, но не возвращает результат
№1 A property that does not exist has which of the following values?
Данный код переводит в верхний регистр первых букв слова, но почему то не работает с кириллицей
Возникла необходимость по работе использовать google sheetsВ javascript совсем без малейшего понятия