缺少http(s)前綴的Href鏈接
P粉329425839
P粉329425839 2023-08-22 21:56:49
0
2
564
<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等),但//告訴它這是一個新的根位址。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板