超文本鏈接指針
發(fā)布時(shí)間:2008-08-07 閱讀數(shù): 次 來(lái)源:網(wǎng)樂(lè)原科技
超文本鏈接指針是html最吸引人們優(yōu)點(diǎn)之一。鏈接指針可以使讀者在整個(gè)Internet網(wǎng)上方便地鏈接。使用超文本鏈接指針可以使順序存放的文件具有一定程度上隨機(jī)訪問(wèn)的能力,而每一個(gè)鏈接指針正好代表了作者或者讀者的思維跳躍,這更加符合人類的思維方式。因而組織得好的鏈接指針有助于理解作者的意圖。
一個(gè)超文本鏈接指針由兩部分組成。一是被指向的目標(biāo),它可以是同一文件的另一部分,也可以是世界另一端的一個(gè)文件,還可以是動(dòng)畫(huà)或音樂(lè);另一部分是指向目標(biāo)的鏈接指針。
§3.1 統(tǒng)一資源定位器URL
統(tǒng)一資源定位器(uuiform Resource Locator)是文件名的擴(kuò)展。在單機(jī)系統(tǒng)中,定位一個(gè)文件需要路徑和文件名,對(duì)于遍布全球的Internet網(wǎng),顯然還需要知道文件存放在哪個(gè)網(wǎng)絡(luò)的哪臺(tái)主機(jī)中才行。與單機(jī)系統(tǒng)不一樣的是在單機(jī)系統(tǒng)中,所有的文件都由統(tǒng)一的操作系統(tǒng)管理,因而不必給出訪問(wèn)該文件的方法;而在Internet上,各個(gè)網(wǎng)絡(luò),各臺(tái)主機(jī)的操作系統(tǒng)都不一樣,因此必須指定訪問(wèn)該文件的方法。一個(gè)URL包括了以上所有的信息。它的構(gòu)成為:
protocol:// machine.name[:port]/directory/filename
其中protocol是訪問(wèn)該資源所采用的協(xié)議,即訪問(wèn)該資源的方法,它可以是: http 超文本傳輸協(xié)議,該資源是html文件file 文件傳輸協(xié)議,用ftp訪問(wèn)該資源ftp 文件傳輸協(xié)議,用ftp訪問(wèn)該資源gopher gopher協(xié)議,該資源是gopher文件news 表明該資源是網(wǎng)絡(luò)新聞
madcine.name 是存放該資源主機(jī)的IP 地址,通常以字符形式出現(xiàn),如 sun.ihep.ac.cn port端口號(hào),是服務(wù)器在該主機(jī)所使用的端口號(hào)。一般情況下端口號(hào)不需要指定。 只有當(dāng)服務(wù)器所使用的端口號(hào)不是缺省的端口號(hào)時(shí)才指定。
directory和filename是該資源的路徑和文件名。
一個(gè)典型的URL為:http://www.ihep.ac.cn 它表示中科院高能所WWW服務(wù)器上的起始html文件。(文件具體存放的路徑及文件名取決于該WWW服務(wù)器的配置情況)。
與單機(jī)系統(tǒng)絕對(duì)路徑,相對(duì)路徑的概念類似,統(tǒng)一資源定位器也有絕對(duì)URL和相對(duì)URL之分。上文所述的是絕對(duì)URL。相對(duì)URL是相對(duì)于你最近訪問(wèn)的URL。比如你正在觀看一個(gè)URL為http://www.inep.ac.cn/index.html的文件,如果想看同一個(gè)目錄下的另一個(gè)文件china.html,你可以直接使用china.html,這時(shí)china.html就是一個(gè)相對(duì)url,它的絕對(duì)url為http://www.ihep.ac.cn/china.html
§3.2 指向一個(gè)目標(biāo)<a>
在html文件中用鏈接指針指向一個(gè)目標(biāo)。其基本格式為:
<a href="url">字符串</a>
href屬性中的統(tǒng)一資源定位器(url)是被指向的目標(biāo),隨后的“字符串”在html文件中充當(dāng)指針的角色, 它一般顯示為藍(lán)色。當(dāng)讀者用鼠標(biāo)點(diǎn)這個(gè)字符串時(shí),瀏覽器就會(huì)將url處的資源顯示在屏幕上。例如:
<a href="http://www:ihep.ac.cn">IHEP CHINA homepage</a>
用戶用鼠標(biāo)點(diǎn)取IHEP china homepage,即可看到高能所編寫(xiě)的關(guān)于中國(guó)情況的介紹。在這個(gè)例子中, 充當(dāng)指針的是IHEP china homepage,下面我們將看到用圖象做為指針的例子。
在編寫(xiě)html文件時(shí),需要知道目標(biāo)的url。如何才能得到目標(biāo)的url呢?對(duì)于自己主機(jī)內(nèi)的文件,它的url 可以根據(jù)該文件的實(shí)際情況決定。對(duì)于Interner上的資源, 我們?cè)谟脼g覽器觀看時(shí),它的url會(huì)在瀏覽器的Location一欄中顯示出來(lái),把它抄下來(lái)寫(xiě)到你的html文件中即可。
在編寫(xiě)html文件時(shí),對(duì)有能確定關(guān)系的一組資源(比如在同一個(gè)目錄中)應(yīng)采用相對(duì)url, 這不僅簡(jiǎn)化你的html文件,而且便于維護(hù)。比如當(dāng)你需要將某個(gè)目錄整個(gè)搬到另外一個(gè)地方或把某一主機(jī)的資源移到另一臺(tái)主機(jī)時(shí),用相對(duì)url寫(xiě)的html文件用不看更新其中的url(只要它們的相對(duì)關(guān)系沒(méi)有改變)。但如果你用絕對(duì)url編寫(xiě)html,你就不得不逐字修改每個(gè)鏈接指針中的url,這是一件很乏味也很容易出錯(cuò)的工作。對(duì)于各個(gè)資源之間沒(méi)有固定的關(guān)系,比如你的html文件是介紹各大學(xué)情況的,它所指向的目標(biāo)分布在全球的主機(jī)中,這時(shí)你就只能用絕對(duì)url了。
在本章的末尾,作者給出一個(gè)完整的html文件,該文件使用了前三章介紹的全部元素,以便于讀者理解。
§3.3 標(biāo)記一個(gè)書(shū)簽
上節(jié)提到的鏈接指針可以使讀者在整個(gè)Interner網(wǎng)上方便地鏈接。但如果你編寫(xiě)了一個(gè)很長(zhǎng)的html文件,從頭到尾地讀很浪費(fèi)時(shí)間,能不能在同一文件的不同部分之間也建立起鏈接,使用戶方便地在上下方之間跳轉(zhuǎn)呢?答案是肯定的。前面曾提到過(guò)一個(gè)超文本鏈接指針包括兩個(gè)部分,一個(gè)指向目標(biāo)的鏈接指針,另一個(gè)是被指向的目標(biāo)。對(duì)于一個(gè)完整的文件,我們可以用它的url來(lái)唯一地標(biāo)識(shí)它, 但對(duì)于同一文件的不同部分,我們?cè)鯓觼?lái)標(biāo)識(shí)呢?下面的內(nèi)容將介紹鏈接指針元素的另外的一個(gè)用途,標(biāo)識(shí)書(shū)簽。
標(biāo)識(shí)一個(gè)書(shū)簽的方法為:
<a name="name">text</a>
name屬性將放置該標(biāo)記的地方標(biāo)記為“name”,name是一個(gè)全文唯一的標(biāo)記串,text部分可有可無(wú)。這樣,我們就把放置標(biāo)記的地方做了一個(gè)叫做“name”的標(biāo)記。
做好標(biāo)記后,可以用下列方法來(lái)指向它,
<a href="url#name">text </a>
url是放置標(biāo)記的html文件的url name是標(biāo)記名,對(duì)于同一個(gè)文件,可以寫(xiě)為
<a href="#name">text </a>
這時(shí)就可以點(diǎn)取text跳轉(zhuǎn)到標(biāo)記名為name的部分了。
§3.4 目標(biāo)窗口
如果希望被指向的目標(biāo)在一個(gè)新的窗口中顯示,可以使用target屬性來(lái)修飾鏈接指針元素。
<a href="url" target="window-name">text </a>
將url代表的資源顯示在一個(gè)新的窗口中,該窗口的名字叫window-name。
§3.5 圖象鏈接指針
圖象也可以做為鏈接指針。格式為:
<a href="url"><img src="url"></a>
可以看出,上例中用<img src="url">取代了鏈接指針中text的位置。
<img src="url">是圖象元素,它表明顯示url代表的圖象文件,參見(jiàn)圖象一章。
下面是一個(gè)簡(jiǎn)單的圖象鏈接指針:
<a href="www.ihep.ac.cn">China home page<img src="flag.gif"></a>
邊框 <img border=#> #=value
<a href="URL">
<img src=URL border=15>
</a>
§3.6 圖象地圖(image map)
上一節(jié)介紹的圖象鏈接指針每幅圖只能指向一個(gè)地點(diǎn),而圖象地圖可以把圖象分成多個(gè)區(qū)域,每個(gè)區(qū)域指向不同的地點(diǎn)。你可以用圖象地圖編出很漂亮的html文件。
使用圖象地圖稍微復(fù)雜一點(diǎn)。圖象地圖不僅需要在html文件中說(shuō)明,它還需要一個(gè)后綴為.map的文件,用來(lái)說(shuō)明圖象分區(qū)及其指向的url的信息。 在.map文件中說(shuō)明分區(qū)信息的格式如下:
rect url 左上角坐標(biāo),右下角坐標(biāo)
poly url 各頂點(diǎn)坐標(biāo)
circle url 直徑兩端點(diǎn)坐標(biāo)
default url
rect指定一個(gè)矩形區(qū)域,該區(qū)域的位置由左上角坐標(biāo)和右下角坐標(biāo)說(shuō)明。poly 指定一多邊形區(qū)域, 該區(qū)域的位置由各頂點(diǎn)坐標(biāo)說(shuō)明。circle 指定一圓形區(qū)域, 該區(qū)
域的位置由垂直通過(guò)圓心的直徑與該圓的交點(diǎn)坐標(biāo)說(shuō)明。default 指定圖象地圖其它部分的url。坐標(biāo)的寫(xiě)法為:x,y ,各點(diǎn)坐標(biāo)之間用空格分開(kāi)。下面是一個(gè)完整的說(shuō)明文件,
default http://www.ihep.ac.cn
rect http://www.ibm.com 140,20 280,60
poly http://www.microsoft.com 180,80 200,140
circle http://www.yahoo.com 80,140 80,100
圖象地圖需要一個(gè)特殊的處理程序 imagemap,imagemap放在/cgi-bin 中。在html 文件中引用圖象地圖的 格式為:
<a href="/cgi-bin/imagemap/mymap.map">
<img src="mymap.gif" ismap></a>
可以看出這是一個(gè)包含圖象元素的鏈接指針元素。圖象元素指明用于圖象地圖的圖象的url,并用Ismap屬性說(shuō)明。需要說(shuō)明的是鏈接指針中的href屬性,它由兩部分組成,第一部分是/cgi-bin/imagemap ,它指出用哪個(gè)程序來(lái)處理圖象地圖,它必須原樣寫(xiě)入,第二部分才是圖形地圖的說(shuō)明文件mymap.map。/cgi-bin/imagemap/mymap.map絕不表示mymap.map在/cgi-bin/imagemap目錄中。在netscape擴(kuò)展中,圖象地圖可以用一種比較簡(jiǎn)化的方式來(lái)表示,這就是客戶端圖象地圖。用戶端地圖可以將圖象地圖的說(shuō)明文件寫(xiě)在html文件中,而且不需要另外的程序來(lái)處理。這就使html作者可以用同別的元素相一致的寫(xiě)法來(lái)寫(xiě)圖象地圖。 客戶端圖象地圖還有一個(gè)優(yōu)點(diǎn),當(dāng)鼠標(biāo)指向圖象地圖的不同區(qū)域時(shí),瀏覽器能顯示出各個(gè)區(qū)域所指向的url。但目前只有netscape2.0以上版本才支持這一擴(kuò)展。
用戶端圖象地圖的格式為:
<img src="url" usemap="#mymap">
src="url" 指定用作圖象地圖的圖象
usemap屬性指明這是客戶端圖象地圖
"#mymap"是圖象文件說(shuō)明部分的標(biāo)記名,瀏覽器尋找名字為mymap的<map>元素并從中得到圖象地圖的分區(qū)信息??蛻舳藞D象地圖的分區(qū)信息用<map name=mapname>元素說(shuō)明,name屬性命名<map>元素。圖象地圖的各個(gè)區(qū)域用<area shape="形狀" coords="坐標(biāo)" href="url">說(shuō)明,形狀可以是:rect矩形,用左上角,右下角的坐標(biāo)表示,各個(gè)坐標(biāo)值之間用逗號(hào)分開(kāi); poly多邊形,用各頂點(diǎn)的坐標(biāo)值表示;circle圓形,用圓心及半徑表示,前兩個(gè)參數(shù)分別為圓心的橫、縱坐標(biāo), 第三個(gè)參數(shù)為半徑。
href="url",表示該區(qū)域所指向的 資源的url,也可以是nohref,表示在該區(qū)域鼠標(biāo)點(diǎn)取無(wú)效??蛻舳藞D象地圖各個(gè)區(qū)域可以重疊,重疊區(qū)以先說(shuō)明的條目為準(zhǔn),下面是一個(gè)例子:
源程序:
<img src="mapimg.gif" usemap="#Face>
<map name="Face">
<!Text BOTTON> 此行是注釋
<area shape="rect"
href="page.html"
coords="140,20,280,60">
<!Triangle BOTTON>
<area shape="poly"
href="image.html"
coords="100,100,180,80,200,140">
<!FACE>
<area shape="circle"
href="nes.html"
coords="80,100,60>
</map>