Как в ссылке заменить атрибут href на другой и закодировать путь в Base64

Рейтинг: 0Ответов: 1Опубликовано: 23.05.2023

Имеется несколько ссылок, ведущих на разные внешние страницы

<a class="button" href="https://site.ru/dsfssg">Ссылка</a>

Имея класс "button", как закодировать содержимое HREF в Base64 и после кодировки заменить атрибут href на придуманный атрибут link Ссылки при этом должны иметь на выходе приблизительно вот такой вид

<a class="button" link="aHR0cHM6Ly9zaXRlLnJ1L2RzZnNzZw==">Ссылка</a>

и работать как ссылка, то-бишь при клике на нее переходишь на ту страницу, которая закодирована.

Ответы

▲ 1Принят

как закодировать содержимое HREF в Base64 и после кодировки заменить атрибут href на придуманный атрибут link

Предложу вот такой вариант...

const o = document.querySelector('.button')
let v = o.href
o.removeAttribute('href')
v = btoa(v)
o.setAttribute('link', v)
o.addEventListener('click', e => {
  let v = e.target.getAttribute('link')
  v = atob(v)
  location.href = v
})
.button {
  cursor: pointer;
}
<a class="button" href="https://site.ru/dsfssg">Ссылка</a>