2017-05-05 98 views
3

我刚刚创建了原始html页面。那就是:example 这里是它的标记:没有http(s)前缀的Href

<a href="www.google.com">www.google.com</a> 
<br/> 
<a href="http://www.google.com">http://www.google.com</a> 

正如你可以看到它包含两个链接。第一个人的href没有'http'前缀,当我点击这个链接浏览器将我重定向到不存在页面https://fiddle.jshell.net/_display/www.google.com。第二个人的href有这个前缀,浏览器产生正确的URL http://www.google.com/。是否有可能使用hrefs,如www.something.com,没有http前缀?

回答

3

这是可能的,事实上你现在正在做。它只是不会做你认为的事情。

考虑当你链接到这个浏览器做什么:

href="index.html" 

当你链接到这个,然后将它做什么?:

href="index.com" 

还是这个?:

href="www.html" 

或?:

href="www.index.com.html" 

浏览器不知道你的是什么意思,它只知道你告诉它。没有前缀,它将遵循当前HTTP地址的标准。前缀是告诉它它需要完全从一个新的根地址开始。

请注意,你不需要http:部分,你可以这样做:

href="//www.google.com" 

浏览器将使用任何目前的协议是(httphttps等),但//告诉它是一个新的根地址。

2

您可以在路径前使用//来省略协议。这里有一个例子:

<a href="//www.google.com">Google</a> 

使用//,你可以告诉浏览器,这实际上是一个新的(满)链接,而不是相对一个(相对于当前的链接)。