javascript - 如何为除社交链接之外的外部链接重定向页面
问题描述
我有一个 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 中不起作用,我必须为每个链接添加它。
但是对于重定向页面,我被卡住了。
解决方案
您可以使用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>
推荐阅读
- javascript - 未捕获的类型错误:无法读取 null Chrome 扩展的属性“点击”
- php - 您可以在查询后使用类似 WHERE 子句的内容吗?
- mysql - MySQL基于两列的多个日期时间间隔
- javascript - 强制填充字符串字段的正则表达式
- eclipse - 无法从 Eclipse 市场空间下载 Kotlin 插件
- html - 使用 CSS 的计划图标
- javascript - 如何在运行函数之前等待变量初始化?(反应)
- angular - 循环依赖 Angular(只是文件名)
- python - pandas DataFrame:删除某些值时如何避免'ValueError:little-endian编译器不支持Big-endian缓冲区'
- javascript - 为什么 Kyle Simpson 的 OLOO 方法感觉像是与 Typescript 潮流背道而驰?