鏈接的rel與target詳解
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
關于target="_blank"去留的問題在網上已經被反復爭議很多次了。有的說要留,有的說要去掉。主張留的一方主要是考慮到target="_blank"的屬性目前來講還沒有一個好的方式來解決,而主張去的一方則拿出了rel與JS的解決方案。target="_blank"是否的存在是否有必要我想目前還有很多正處在一種盲區。我查閱了相關的文獻,發現其實情況并非是我們所想的那樣,事實上target="_blank"并非是不符合標準的,而用rel與JS的解決方案也是沒有必要的,因為這是個誤區,只要我們了解了rel與target的真正含義我們就清楚了其實這里本不應存在爭議。下面我將我通過查閱文獻所得到的知識與大家分享,我們先來了解一下target與rel的含義:
target ,允許指定在什么位置顯示已經選擇的超鏈接內容。也就是說鏈接的內容將在什么樣的窗口被顯示。target 的屬性值有四個保留的名稱,分別是:_blank,_self,_parent,_top。其中_blank的意思是瀏覽器總在一個新打開的、未命名的窗口中載入target="_blank"鏈接的文檔。這里大家也許會很不理解“未命名”是什么意思。事實上target 是可以給新打開的窗口賦一個ID,例如:target="name" 這就表明通過target="name"鏈接載入的文檔將會在一個叫"name"的窗口顯示。如果沒有ID為"name"的窗口,那么瀏覽器就會新建一個名為"name"的窗口來顯示鏈接文檔。如果當前窗口的ID就是"name"那么這個鏈接文檔就會在當前的窗口中替換原有的內容顯示出來。而_self的意思其實就是當前文檔,<a>的默認目標就是_self,這個屬性值一般來說是用不到的。_parent是使鏈接文檔在父級窗口顯示,這個屬性值只在框架結構中使用,如果身本就是頂級框架,那么其作用與_self相同。_top同樣是應用在框架中的,但是他的效果是清除框架來顯示目標文檔。這對于從框架結構轉向無框架結構是很有作用的。 現在我們知道了,target 是一目標顯示的屬性與瀏覽器密切相關的。那么rel又是什么呢, 為什么很多人把他當作是target 的替代屬性呢?下面我們就來認識一下rel。其實不只有一個rel還有一個與之對應的屬性叫rev,這兩個屬性的意思分別是:從源文檔到目標文檔的關系;從目標文檔到源文檔的關系。這里的源文檔可以理解為鏈接所處在的當前文檔,而目標文檔也就是這個鏈接將要打開的文檔。這下我們應該清楚了,其實rel與rev是一種文檔之前的鏈接關系,而并非是與瀏覽器相關的如何顯示目標文檔的屬性。 那么rel與rev有哪些關系呢?下面將一一列取并解釋其中的含義: next,鏈接到下一個文檔; prev,鏈接到前一個文檔; head,鏈接到集合中的頂級文檔; toc,鏈接到集合的目錄; parent,鏈接到源上面的文檔; Child,鏈接到源下面的文檔; index,鏈接到此文檔的索引; glossary,鏈接到此文檔的術語表; 其中next與prev是一組。表明了當前文檔與目標文檔之前的關系是同級的關系,可以寫成這樣<a href="movie_002.htm" rel=next rev=prev>。head與toc可以形成一個組合,表示者是由目錄鏈接到最終的文檔,或是由文檔鏈接到目錄。parent與child是一組,表示著由當前的文檔鏈接到父級文檔或是子級文檔。而index與glossary可以與head分別組合,形成由文檔到索引,或是由索引到文檔;文檔到術語表或是術語表到文檔。 也許這樣講可能還是不很清楚,下面舉個例子:我這里整理了一個電影文檔資源,那么我需要對這些資源進行分類,我把電影分成:武俠片、戰爭片、愛情片、恐怖片、紀錄片。那么我在電影根目錄需要鏈接到下面的子類的時候那么鏈接的關系應該是:rel=child rev=parent ,而如果當前是武俠片的頻道頁,我需要轉愛情片頻道或是其它頻道時,那么鏈接關系就應該是:rel=next rev=prev,當我們由一個武俠片鏈接到“臥虎藏龍”這部電影的文檔時鏈接的關系應該是:rel=head rev=toc,當由“臥虎藏龍”鏈接到索引的時候鏈接關系又變成了:rel=index rev=head。 由于目前的CSS還不能抓取rel與rev的屬性值,所以沒有辦法給不同關系的鏈接提供不同的樣式,所以現在rel與rev只是用來使得網頁的語義性更為完善。 該文章在 2010/8/13 18:27:49 編輯過 |
關鍵字查詢
相關文章
正在查詢... |