使用 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的主要内容,如果未能解决你的问题,请参考以下文章