【问题标题】:How to redirect a page for external links except social links如何为除社交链接之外的外部链接重定向页面
【发布时间】:2018-12-05 14:09:24
【问题描述】:


我有一个 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; 
}); };

但这不适用于博客链接没有 id,我必须为每个链接添加它。
但是对于重定向页面,我被卡住了。

【问题讨论】:

  • 博主链接是什么样的?您可以使用比 id 更通用的选择器来获取链接并遍历它们。
  • 只是一个没有 id 的链接 'text'

标签: javascript http-redirect


【解决方案1】:

您可以使用querySelectorAll 获取所有链接,然后遍历每个链接并在其上添加事件侦听器。这种方式不依赖于每个链接都有唯一的 ID。

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>

【讨论】:

    猜你喜欢
    • 2016-03-10
    • 1970-01-01
    • 2022-06-18
    • 2012-03-23
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多