You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在本地HTA文件中点击超链接时获取其相对路径

解决HTA中点击链接获取相对路径且不跳转的问题

嘿,你之前的代码之所以拿到绝对路径,是因为element.href会被IE(HTA基于IE内核)自动解析成完整的绝对URL,而你要的是写在HTML里的原始相对路径对吧?其实换个方式就能搞定,直接用getAttribute('href')获取原始值,再阻止默认跳转行为就好啦!

下面是修改后的test.hta示例:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="x-ua-compatible" content="ie=9.0" />
    <meta charset="utf-8">
</head>
<body>
    <a href="/href1">Link1</a>
    <a href="/href2">Link2</a>

    <script>
        var pageLinks = document.querySelectorAll('a');
        for(var i = 0; i < pageLinks.length; i++) {
            pageLinks[i].onclick = function(event) {
                // 阻止默认跳转行为
                event.preventDefault();
                // 获取原始的相对路径
                var relativeHref = this.getAttribute('href');
                // 这里可以换成你需要的处理逻辑,比如弹出路径
                alert(relativeHref);
            }
        }
    </script>
</body>
</html>

关键点说明:

  • getAttribute('href'):直接读取你在HTML里写的原始href值,不会被浏览器解析为绝对路径,完美拿到/href1、/href2这类相对路径
  • event.preventDefault():阻止链接的默认跳转行为,点击后不会跳转到目标地址,完全符合你的需求
  • 不需要修改原链接的href属性,保持HTML结构的干净

现在点击任意链接,就能弹出你想要的相对路径啦!

内容的提问来源于stack exchange,提问作者stckvrw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:00:27