網(wǎng)頁中的
a
標(biāo)簽具有地址跳轉(zhuǎn)的功能蓄喇,href
屬性指向跳轉(zhuǎn)的地址发侵。
一、三種地址模式
網(wǎng)絡(luò)地址分為兩種妆偏,一種是絕對(duì)地址刃鳄,一種是相對(duì)地址。
但是相對(duì)地址又可以細(xì)分為兩種钱骂,一種是基于當(dāng)前目錄的相對(duì)地址叔锐,一種是基于服務(wù)器根目錄的相對(duì)地址。
二见秽、三種地址詳解
以下做一個(gè)詳細(xì)介紹:
絕對(duì)地址是帶有
http
頭部的網(wǎng)絡(luò)地址(注意愉烙,這里是一定需要帶有網(wǎng)絡(luò)協(xié)議頭部的,否則會(huì)被當(dāng)成相對(duì)地址)解取,例如:http://lancelot_lewis.coding.me/當(dāng)前目錄相對(duì)地址就是指根據(jù)當(dāng)前目錄去判斷
a
鏈接中地址的具體位置步责。例如:http://lancelot_lewis.coding.me/categories/ 這個(gè)目錄下有5個(gè)子目錄,其中一個(gè)子目錄為Js
:http://lancelot_lewis.coding.me/categories/Js/ 禀苦,另外一個(gè)子目錄為Html
:http://lancelot_lewis.coding.me/categories/Html/ 蔓肯,如果想從Js
的目錄跳轉(zhuǎn)到Html
中,Js
頁面中可以添加一個(gè)這樣的標(biāo)簽:(../
表示回到上一目錄)
<a href="../Html">Html目錄</a>
- 服務(wù)器根目錄相對(duì)地址就是指根據(jù)服務(wù)器的根目錄去判斷
a
鏈接中地址的具體位置伦忠,例如:http://lancelot_lewis.coding.me/2016/04/30/blog/hexo-coding/ 這個(gè)地址是一篇博文省核,另外一個(gè)地址:http://lancelot_lewis.coding.me/2016/05/11/blog/hexo-guestbook/ 也是一篇博文。假設(shè)現(xiàn)在我需要在第一篇博文中添加一個(gè)第二篇博文的地址昆码,如果我使用當(dāng)前目錄相對(duì)地址的方式气忠,就是這樣:../../../05/11/blog/hexo-guestbook/
,冗長(zhǎng)并且需要自己清楚當(dāng)前處于哪個(gè)目錄赋咽,過于麻煩旧噪,并且不同的目錄下這個(gè)地址還會(huì)不一樣;而如果使用服務(wù)器目錄相對(duì)地址就是:/2016/05/11/blog/hexo-guestbook/
這里就只需要關(guān)注每一篇博文的地址脓匿,最前面使用一個(gè)/
表示服務(wù)器根目錄即可淘钟,這個(gè)地址就能夠在博客的任意頁面中使用。
三陪毡、使用場(chǎng)景
詳細(xì)介紹講完了米母,再來講講每一種地址的具體使用場(chǎng)景勾扭。
絕對(duì)地址: 絕對(duì)地址一般都是使用在跨域名的場(chǎng)景之中,在一個(gè)域名下的網(wǎng)頁需要跳轉(zhuǎn)到另一域名下的網(wǎng)頁铁瞒,在這里其實(shí)也只能使用絕對(duì)地址妙色。
當(dāng)前目錄相對(duì)地址: 一般適用于頁面結(jié)構(gòu)不會(huì)改動(dòng)的頁面中的
a
標(biāo)簽和只屬于某一頁面的js
跳轉(zhuǎn)中。服務(wù)器根目錄相對(duì)地址: 使用范圍包括了當(dāng)前目錄相對(duì)地址慧耍,適用于同一域名下的所有網(wǎng)頁和
js
文件中的跳轉(zhuǎn)身辨。而且盡量使用該地址代替當(dāng)前目錄絕對(duì)地址
,好處就在于芍碧,如果網(wǎng)頁頁面的結(jié)構(gòu)有變煌珊,或者是編寫的js
腳本會(huì)重用在多個(gè)不同的頁面,服務(wù)器相對(duì)地址就是你首要解決方案泌豆。
四定庵、總結(jié)
- 跨域名的情況下使用絕對(duì)地址
- 盡量使用服務(wù)器根目錄相對(duì)地址而不是當(dāng)前目錄相對(duì)地址
- 多編程找到合適自己的代碼實(shí)踐
附上個(gè)人博客對(duì)應(yīng)博文地址:
http://lancelot_lewis.coding.me/2016/07/08/html/network-address/