【问题标题】:Update not working for href property in Markdown更新不适用于 Markdown 中的 href 属性
【发布时间】:2021-01-12 06:54:03
【问题描述】:

我想创建一个自定义超链接,它将当前 URL 作为参数之一传递给 Web 应用程序端点 (abc.azurewebsites.net)。 这些是我尝试通过 Id 获取元素并使用基本 HTML 属性更新 href 但没有运气的思考过程的版本。

方法 1

> <script> baseurl="abc.azurewebsites.net?=" 
function buildURL(item) {
>     item.href=baseurl+window.location.href;
>     return true; } 
</script> 
> </head> <body> <a onclick="return buildURL(this)" href="">Google</a> </body>

方法 2

Click on this <a href="" 
target="_self" id= "test" onclick =  buildURL() >Link  </a> to execute 
<script>
            var el_up = document.getElementById("test");
            function buildURL() {                           
                this.href = "abc.azurewebsites.net?=" + document.URL; 
 }
</script>

请有任何建议。有没有可能?

更新:顺便提一下,我正在 Azure Devops 描述部分尝试这个

【问题讨论】:

    标签: javascript html markdown


    【解决方案1】:

    我相信这会奏效:

    <body>
      <a id="link-to-edit" href=""> Click here to execute </a>
    </body>
    
    <script> 
      baseurl="https://abc.azurewebsites.net?=" 
      link = document.getElementById("link-to-edit")
      link.href = baseurl + window.location
    </script> 
    

    一旦页面/脚本加载,这将使用 javascript 以编程方式将 href 更新为 baseurl 加上当前位置。然后,当您单击链接时,将正确执行。关键是href必须在点击的时候设置。在您的示例中,您在用户单击后设置了 href,因此该链接将无法按您的预期工作。希望对您有所帮助!

    【讨论】:

    • 感谢您的回复,但链接本身不可点击,我想这是这里的核心问题。代码假定 href 值将在运行时定义(脚本中的函数),但从未发生过。为什么我这么认为?因为即使我在锚标签中提供了一个空白的href(点击这里执行),链接也是可点击的并且指向当前的URL。跨度>
    • 您好,我编辑了我的回复以包含空的 href 并将协议“https://”添加到 baseurl,因为这可能是正常链接功能所必需的。我在 jsbin 中对此进行了测试,它正在工作,你能准确描述“链接不可点击”的意思吗?
    • 我所说的链接不可点击的意思是,当未使用 href = "" 时,超链接未激活。尽管如此,即使在此之后,链接仍然指向当前 URL(猜猜这就是降价的工作方式)。
    • 有趣的是,既然你提到了 jsbin,我什至用 Markdown 对其进行了测试,它就像一个魅力。可能与 Azure DevOps Markdown 有关吗?想法?
    • 嘿,我明白了 - 很抱歉,我没有意识到 Azure 开发操作到底是什么。但是现在我看到您正在将此代码放入我不熟悉的环境(而不是标准网页)中。也许对开发运维环境有更多经验的人可以提供更多帮助
    猜你喜欢
    • 2019-04-04
    • 1970-01-01
    • 2012-08-09
    • 2018-12-01
    • 2014-12-05
    • 2016-08-30
    • 2014-08-09
    • 2010-10-25
    • 2015-12-07
    相关资源
    最近更新 更多