【发布时间】:2018-01-23 06:48:00
【问题描述】:
我们迫切需要帮助编写一个小代码,该代码允许您获取当前页面 URL 和 href="parm" 中的参数,并通过用斜杠连接两者来创建链接。
我们需要这样做的原因是因为我们需要到当前页面的相对链接。我们正在使用的 CMS 系统会从 URL 的末尾删除斜杠。
这是一个问题,因为如果你在一个页面 domain.com/fruit/apple
并创建一个链接,例如 href="calories" 或 href="./calories" 它将指向 domain.com/fruit/calories
相反,我们希望它指向 domain.com/fruit/apple/calories
相对于当前页面。
我们不想改变 CMS 的工作方式,因此需要 JS 解决方案。
您可以在下面看到我们正在尝试完成的一个示例,但这仅适用于一个链接。
<a href="home" id="relurl" target="_blank" title="This is a relative link!">link</a>
启动 JS
var x = window.location.href; // Current page URL
var link = document.getElementById("relurl"); // store the element
var curHref = link.getAttribute('href'); // Get HREF paramter
link.setAttribute('href', x + "/"+ curHref);
结束 JS
这个想法是每次使用 id="relurl" 的链接时都建立相对链接。
根据前面的示例,此链接:a href="home" id="relurl" target="_blank" title="这是一个相对链接!">链接
在此页面:domain.com/fruit/apple
它应该指向 domain.com/fruit/apple/home
表示链接结构是currentpageURL + / + href
一个页面可能有多个相对链接。
感谢您的帮助。
【问题讨论】:
-
为什么不直接使用相对 url?例如...
./home -
可以用斜杠指定<base> tag吗?
标签: javascript jquery