【用户体验提升】JavaScript实现检测发现文本内容中的网址自动添加链接

2023-01-29 20:15:21 508

在网站开发中,经常会有这样的一个需求。发布的文章中包含网址,如果能够自动转化为超文本链接,那么这样将会大大提升页面的阅读体验。

下面是实现这个功能的代码:

HTML代码

<div id="jsContainer">
这里会给出一段随机文本,可能包含一些链接,比如https://www.upww.net,或者 www.upww.net/plan,如果出现链接文本,请给该链接文本加上链接标签,用户点击后能直接在新窗口中打开该链接。
</div>

JS代码

    // 自动给地址加上链接
    var container = document.getElementById("jsContainer");
    var text = container.innerText;
    var reg = /(http://|https://)*((w|=|?|.|/|&|-)+)/g;
    var result = text.replace(reg, '<a target="_blank" href="$1$2">$1$2</a>')
    container.innerHTML = result
    var links = document.getElementsByTagName("a")
    for (var i = 0; i < links.length; i++) {
      var href = links[i].getAttribute("href")
      if (!/^http/.test(href)) {
        links[i].setAttribute("href", "http://" + href)
      }
    }


相关标签: