网站外链重定义

MuYan2021-12-17web

在一些网站浏览时,总能遇到点击第三方链接跳转时,提示你即将离开本站,注意账户和财产安全等提示。

这样做的主要目地也主要是起到提醒,以防跳转至外链后出事的追责等问题。

  • 实现这样的功能其实也比较简单,主要是进行跳转拦截与重定义,大部分的网页跳转都是基于 a 标签,所以我们主要监听 a 标签跳转既可。

本站 demo: 点我跳转open in new window

实现代码:

<!DOCTYPE html>
<html>
  <head>
    <title>demo</title>
  </head>
  <body>
    <a href="https://www.baidu.com" target="_top">跳转</a>
    <script type="text/javascript">
      document.body.addEventListener("click", function(event) {
        // 兼容处理
        var e = event.target || event.srcElement;
        // 判断是否为 a 标签
        if (e.nodeName.toLocaleLowerCase() === "a") {
          // 拦截跳转
          if (event.preventDefault) {
            event.preventDefault();
          } else {
            window.event.returnValue = true;
          }
          // 重定义跳转
          var url = e.getAttribute("href");
          alert(url);
          // 获取 a 标签 target 属性,进行判断
          if (e.getAttribute("target") === "_blank") {
            window.open(url);
          } else {
            window.location.href = url;
          }
        }
      });
    </script>
  </body>
</html>
上次更新 2026/6/23 11:49:15
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8