缺少http(s)前缀的Href链接
P粉329425839
P粉329425839 2023-08-22 21:56:49
0
2
604
<p>我刚刚创建了一个简单的HTML页面。在这里:example 这是它的标记:</p> <pre class="brush:php;toolbar:false;"><a href="www.google.com">www.google.com</a> <br/> <a href="http://www.google.com">http://www.google.com</a></pre> <p>正如你所见,它包含两个链接。第一个链接的href没有'http'前缀,当我点击这个链接时,浏览器将我重定向到不存在的页面<code>https://fiddle.jshell.net/_display/www.google.com</code>。第二个链接的href有这个前缀,浏览器生成了正确的URL<code>http://www.google.com/</code>。是否可能使用没有http(s)前缀的href,如<code>www.something.com</code>?</p>
P粉329425839
P粉329425839

全部回复(2)
P粉299174094

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

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

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

P粉957723124

这是可能的,而且你现在正在做。它只是不会做你想要的事情。

考虑一下当你链接到这个时,浏览器会做什么:

href="index.html"

那么当你链接到这个时,它会做什么?:

href="index.com"

或者这个?:

href="www.html"

或者?:

href="www.index.com.html"

浏览器不知道你的意思,它只知道你告诉它的内容。没有前缀,它将按照当前HTTP地址的标准进行操作。前缀是告诉它需要从一个全新的根地址开始的。

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

href="//www.google.com"

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板