2017-05-05 104 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> 

使用//,你可以告訴瀏覽器,這實際上是一個新的(滿)鏈接,而不是相對一個(相對於當前的鏈接)。