使用 javascript 创建锚点 href,并且链接中没有主机 url

Posted

技术标签:

【中文标题】使用 javascript 创建锚点 href,并且链接中没有主机 url【英文标题】:Create anchor href with javascript and not have host url in link 【发布时间】:2013-03-27 21:57:55 【问题描述】:

我正在尝试使用 javascript 动态创建链接,但每次都将主机 url 附加到链接中。我该如何阻止这种情况发生。我在 js fiddle 上创建了一个示例。创建的链接将“http://fiddle.jshell.net/mTgtr/show/”附加到 www.google.com 链接。

http://jsfiddle.net/mTgtr/

var eventLink = "www.google.com";
var elEventBlock = document.createElement('div');
var elA = document.createElement('a');
elA.setAttribute('href', eventLink);
elA.setAttribute('target', '_blank');
elA.innerhtml = "test";
document.getElementById("myDiv").appendChild(elA);

【问题讨论】:

【参考方案1】:

您应该在 URL 前加上协议,例如http://https://ftp:// 等。

【讨论】:

进一步阐述:网页上有两种类型的链接,绝对的和相对的。任何不以 http:// 或 https:// 等协议开头的链接都将被视为相对链接,浏览器将尝试导航到该链接,就好像它是当前目录中包含的目录或文件一样,即http://mysite.com/directory_containing_link/www.google.com。要导航到不同的网站,您必须包含协议,以便浏览器知道将链接视为绝对链接。 @Grant 谢谢,效果很好!我可能应该已经知道了,也许在某个时候知道了。

以上是关于使用 javascript 创建锚点 href,并且链接中没有主机 url的主要内容,如果未能解决你的问题,请参考以下文章

jQuery:将href推送到另一个锚点,多次并分别

[javascript] 模拟通讯薄锚点跳转

单击锚点时如何防止滚动到顶部(href =“ID”)

链接到锚点并强制重新加载当前页面

在 jquery/javascript 处理后移动到命名锚点

这里有任何 Javascript 专家来制作这个脚本吗?如果锚点改变重定向页面