Как перенаправить страницу на внешние ссылки кроме социальных ссылок - PullRequest
0 голосов
/ 26 июня 2018


У меня есть блог Blogger, и я хочу отслеживать внешние ссылки, создавая страницу перенаправления с javascript для всех ссылок, кроме внутренних и социальных ссылок.
Я знаю, как это сделать так:

window.onload = function(){
document.getElementById("aLinkId").addEventListener("click", function(e){
e.preventDefault();
// Here we redirect to the wanted page, with the extra parameter, with the original external URL
location.href = "REDIRECT-PAGE-URL?redirect=" + document.getElementById("aLinkId").href; 
}); };

Но это не работает в блоггерских ссылках, у которых нет идентификатора, я должен был бы поставить его для каждой ссылки.
но на странице перенаправления я застрял.

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете получить все ссылки, используя querySelectorAll , а затем перебрать каждую ссылку и добавить прослушиватель событий для них. Этот способ не зависит от уникальности каждой ссылки.

window.onload = function() {
  let links = document.querySelectorAll("a");
  for (var i = 0; i < links.length; i++) {
    links[i].addEventListener("click", function(e) {
      e.preventDefault();
      let href = this.href
      console.log(href);
      //location.href = "REDIRECT-PAGE-URL?redirect=" + href;
    });
  }
};
<a href="url1" target="blank">link1</a>
<a href="url2" target="blank">link2</a>
<a href="url3" target="blank">link3</a>
<a href="url4" target="blank">link4</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...