網頁中的
a標簽具有地址跳轉的功能,href屬性指向跳轉的地址。
一、三種地址模式
網絡地址分為兩種,一種是絕對地址,一種是相對地址。
但是相對地址又可以細分為兩種,一種是基于當前目錄的相對地址,一種是基于服務器根目錄的相對地址。
二、三種地址詳解
以下做一個詳細介紹:
絕對地址是帶有
http頭部的網絡地址(注意,這里是一定需要帶有網絡協(xié)議頭部的,否則會被當成相對地址),例如:http://lancelot_lewis.coding.me/當前目錄相對地址就是指根據當前目錄去判斷
a鏈接中地址的具體位置。例如:http://lancelot_lewis.coding.me/categories/ 這個目錄下有5個子目錄,其中一個子目錄為Js:http://lancelot_lewis.coding.me/categories/Js/ ,另外一個子目錄為Html:http://lancelot_lewis.coding.me/categories/Html/ ,如果想從Js的目錄跳轉到Html中,Js頁面中可以添加一個這樣的標簽:(../表示回到上一目錄)
<a href="../Html">Html目錄</a>
- 服務器根目錄相對地址就是指根據服務器的根目錄去判斷
a鏈接中地址的具體位置,例如:http://lancelot_lewis.coding.me/2016/04/30/blog/hexo-coding/ 這個地址是一篇博文,另外一個地址:http://lancelot_lewis.coding.me/2016/05/11/blog/hexo-guestbook/ 也是一篇博文。假設現(xiàn)在我需要在第一篇博文中添加一個第二篇博文的地址,如果我使用當前目錄相對地址的方式,就是這樣:../../../05/11/blog/hexo-guestbook/,冗長并且需要自己清楚當前處于哪個目錄,過于麻煩,并且不同的目錄下這個地址還會不一樣;而如果使用服務器目錄相對地址就是:/2016/05/11/blog/hexo-guestbook/這里就只需要關注每一篇博文的地址,最前面使用一個/表示服務器根目錄即可,這個地址就能夠在博客的任意頁面中使用。
三、使用場景
詳細介紹講完了,再來講講每一種地址的具體使用場景。
絕對地址: 絕對地址一般都是使用在跨域名的場景之中,在一個域名下的網頁需要跳轉到另一域名下的網頁,在這里其實也只能使用絕對地址。
當前目錄相對地址: 一般適用于頁面結構不會改動的頁面中的
a標簽和只屬于某一頁面的js跳轉中。服務器根目錄相對地址: 使用范圍包括了當前目錄相對地址,適用于同一域名下的所有網頁和
js文件中的跳轉。而且盡量使用該地址代替當前目錄絕對地址,好處就在于,如果網頁頁面的結構有變,或者是編寫的js腳本會重用在多個不同的頁面,服務器相對地址就是你首要解決方案。
四、總結
- 跨域名的情況下使用絕對地址
- 盡量使用服務器根目錄相對地址而不是當前目錄相對地址
- 多編程找到合適自己的代碼實踐
附上個人博客對應博文地址:
http://lancelot_lewis.coding.me/2016/07/08/html/network-address/