二、鏈接的相關屬性 ●關于target屬性 在鏈接中,target屬性最讓人費解。 target屬性表示鏈接在哪個游覽器窗口打開。其取值有以下幾種情況: 1._self:如$#@60;a href=″...″ target=″_self″$#@62; 該屬性值表示在當前窗口打開所鏈接的文件,如果你不對這
二、鏈接的相關屬性
●關于target屬性
在鏈接中,target屬性最讓人費解。
target屬性表示鏈接在哪個游覽器窗口打開。其取值有以下幾種情況:
1._self:如$#@60;a href=″…″ target=″_self″$#@62;
該屬性值表示在當前窗口打開所鏈接的文件,如果你不對這個屬性值進行設置的話,則默認為該值。
2._blank
如果你想將所鏈接的文件在新開的窗口打開,就取該值。
3._parent
在講這個屬性之前,我們先要了解一下多幀結構與浮動幀。
多幀結構其實就是多個HTML在同一個瀏覽器窗口中同時顯示,并將其分為多個小窗口,一個幀就是一個HTML顯示區。這樣,這些當前瀏覽器窗口就叫做這些子窗口的“父(parent)窗口”。在多幀結構設置時,每個幀有自己的名稱,如:
$#@60;frameset rows=″80,*″ cols=″*″ frameborder=″NO″ border=″0″ framespacing=″0″$#@62;
$#@60;frame name=″top″ scrolling=″NO″ src=″…″$#@62;
$#@60;frameset cols=″80,*″ frameborder=″NO″ border=″0″ framespacing=″0″$#@62;
$#@60;frame name=″left″ noresize scrolling=″NO″ src=″….″$#@62;
$#@60;frame name=″main″ src=″….″$#@62;
$#@60;/frameset$#@62;
$#@60;/frameset$#@62;
在這個多幀結構中,幀名top、left、main代表著三個小窗口,parent即為當前多幀結構的父窗口。
而標記iframe所表示浮動幀的效果就如我們所說的畫中畫電視,它實際就是在當前窗口中內嵌一個HTML頁面,而不像多幀結構一樣,幀間內容相互分隔。這個內嵌頁面所在的瀏覽器窗口就是它的parent,如HTML文件example.htm中有如下代碼:
$#@60;p$#@62;以下是一個內嵌幀示例$#@60;/p$#@62;。
$#@60;iframe src=″index.htm″ name=″child$#@62; $#@60;/iframe$#@62;
這樣,名為child的HTML頁面內嵌在主頁example.htm中,它的parent就是當前瀏覽器窗口。
由此,不難明白了,target屬性的_parent取值即表示鏈接文件在其父窗口中打開。
4._top
此屬性值意義與_parent類同。
5.特定窗體名,如target=″main″
了解了上述的多幀結構以后,我們知道,每個幀可以有自己的幀名即name屬性,所以,我們可以指定鏈接的文件? 定名稱的幀里打開。如target=″main″表示標記$#@60;a$#@62;所指向的文件在幀main里打開。
如果喜歡閱讀人民日報網絡版的朋友細心的話,可以發現,target的取值是各不相同的名稱,如數字等,并且又不是在多幀結構里,為什么要設置target呢?有興趣的話,請你不妨試幾個例子效果有什么不同:
$#@60;a href=″1.htm″ target=″win″$#@62;….$#@60;/a$#@62;
$#@60;a href=″2.htm″ target=″win″$#@62;….$#@60;/a$#@62;
另外試一下
$#@60;a href=″1.htm″ target=″win1″$#@62;….$#@60;/a$#@62;
$#@60;a href=″2.htm″ target=″win2″$#@62;….$#@60;/a$#@62;
怎么樣?前一個例子中,兩個鏈接都是在同一個新開的窗口中打開,而后一例子則打開兩個新窗口。說明了什么?特定的窗口名代表著新打開的瀏覽器窗口,所以,如果幾個鏈接的target屬性值都為特定的窗口名,那么就表示這些鏈接都在這個窗口中打開,不另開窗口。這樣,就可很好地解決令人厭煩的點擊鏈接,不停地新彈窗口占用系統資源的情況。
就筆者自己的經驗來說,設定target值還另有妙用,請大家試一下:
$#@60;a href=″1.htm″ target=″1234″$#@62;….$#@60;/a$#@62;
與
$#@60;a href=″1.htm″ target=″_blank″$#@62;….$#@60;/a$#@62;
并且1.htm中有一鏈接是關閉窗口的:
$#@60;a href=″javascript:window.close()″$#@62;關閉本窗口$#@60;/a$#@62; //注:window.close()是調用window對象的close方法關閉本窗口。
結果是在你點擊“關閉本窗口”時,在第二個例子中是不是出現“你查看的頁正在試圖關閉窗口,是否關閉本窗口?”的提示?而第一個例子則不會。
●給鏈接加上注釋
這在平時使用中很常見,比如當前鏈接字比較多時,只截取其中的一部分,而當你的鼠標移動到鏈接字上時,就會出現一個小黃條提示,將所有的鏈接字顯示出來。實際上利用鏈接的title屬性即可實現。定義格式為:
$#@60;a href=″…″ title=″……″$#@62;..$#@60;/a$#@62;
如:$#@60;a href=http://homepage.yeksy.com/ title=″網頁陶吧,國內最cool的主頁教學站點″$#@62;網頁陶吧$#@60;/a$#@62;。
三、鏈接的另幾種特殊情況
●鏈接地址形式為URL?para1=expr1&para2=expr2…
這種情況多用在運行服務器端CGI或腳本程序(即URL所指的程序)時,需要將一些參數取值傳給程序,程序再將這些參數如para1、para2等的值分解出來,這樣可從客戶端獲得信息,實現動態交互功能,并能根據這些取值生成相應的頁面,而不是我們所看到的呆板的靜態頁面。
●關于點擊鏈接下載
朋友對點擊鏈接下載文件等肯定不會陌生,實際上,對于鏈接的文件,如ZIP以及用戶端無法識別的文件,都會提示用戶下載。所以,與一般的鏈接沒有區別,另外,有一點要申明的是,鏈接文件不一定都要是HTML文件。
如:$#@60;a href=″http://netschool.cpcw.com/homepage/cgi/cgi.zip″$#@62;點擊此下載$#@60;/a$#@62;
一些朋友常問點擊鏈接聽MP3音樂或看flash動畫是怎么回事,實際也是將鏈接直接鏈接到這些文件,當只有你自己的機器上安裝了相應的軟件或控件時才不會提示下載而直接打開這些文件。
●鏈接為腳本語言語句
這種應用相信到過Yesky舊版網頁陶吧的朋友很熟悉的,首頁上的鏈接都為:
javascript:openHTML(….) 形式。
鏈接可以是腳本程序,其定義格式為:
腳本語言類型:程序語句;程序語句…
其中腳本語言類型不外乎兩種:javascript與vbscript
其中程序語句包括單語句或函數引用。
如網頁陶吧的例子:
下面定義一個函數,用來將鏈接的HTML文件在新瀏覽器窗口打開:
$#@60;script language=″javascript″$#@62;
function openHTML(url)
{
var hWnd=window.open(url,″″,″toolbar=yes,scrollbars=yes,menubar=yes,width=690,height=480,left=20,top=5,status=yes″)
}
$#@60;/script$#@62;
而在鏈接要引用這個函數時,可以寫成
$#@60;a href=″javascript:openHTML(′http://www.yesky.com′)″$#@62;到天極網$#@60;/a$#@62;
這樣,點擊時就會執行相應的腳本程序。
●鏈接為郵件
鏈接也可以是一個郵件,當點擊鏈接時,自動打開你在瀏覽器中設置的收發郵件軟件,其鏈接形式為:
$#@60;a href=″mailto:郵箱?subject=郵件主題″$#@62;..$#@60;/a$#@62;
mailto:收信人郵箱;subject:郵件主題,可略。
如$#@60;a href=″mailto:hero@cpcw.com?subject=談一下主頁制作″$#@62;與主持人聯系$#@60;/a$#@62;
對于鏈接相關的知識我們就講到此,另外,在DHTML對象模型中,鏈接對象及對象集也是腳本語言編程中經常觸及的,大家可到天極網頁陶吧(homepage.yesky.com)學習相關知識。