建站知識
Service Support
2017-02-21 15:01:01 次瀏覽
關(guān)于target="_blank"去留的問題在網(wǎng)上已經(jīng)被反復(fù)爭議很多次了。有的說要留,有的說要去掉。主張留的一方主要是考慮到target="_blank"的屬性目前來講還沒有一個好的方式來解決,而主張去的一方則拿出了rel與JS的解決方案。target="_blank"是否的存在是否有必要我想目前還有很多正處在一種盲區(qū)。我查閱了相關(guān)的文獻(xiàn),發(fā)現(xiàn)其實(shí)情況并非是我們所想的那樣,事實(shí)上target="_blank"并非是不符合標(biāo)準(zhǔn)的,而用rel與JS的解決方案也是沒有必要的,因?yàn)檫@是個誤區(qū),只要我們了解了rel與target的真正含義我們就清楚了其實(shí)這里本不應(yīng)存在爭議。下面我將我通過查閱文獻(xiàn)所得到的知識與大家分享,我們先來了解一下target與rel的含義:
target ,允許指定在什么位置顯示已經(jīng)選擇的超鏈接內(nèi)容。也就是說鏈接的內(nèi)容將在什么樣的窗口被顯示。target 的屬性值有四個保留的名稱,分別是:_blank,_self,_parent,_top。
_blank的意思是瀏覽器總在一個新打開的、未命名的窗口中載入target="_blank"鏈接的文檔。這里大家也許會很不理解“未命名”是什么意思。事實(shí)上target 是可以給新打開的窗口賦一個ID,例如:target="name" 這就表明通過target="name"鏈接載入的文檔將會在一個叫"name"的窗口顯示。如果沒有ID為"name"的窗口,那么瀏覽器就會新建一個名為"name"的窗口來顯示鏈接文檔。如果當(dāng)前窗口的ID就是"name"那么這個鏈接文檔就會在當(dāng)前的窗口中替換原有的內(nèi)容顯示出來。
_self的意思其實(shí)就是當(dāng)前文檔,的默認(rèn)目標(biāo)就是_self,這個屬性值一般來說是用不到的。
_parent是使鏈接文檔在父級窗口顯示,這個屬性值只在框架結(jié)構(gòu)中使用,如果身本就是頂級框架,那么其作用與_self相同。
_top同樣是應(yīng)用在框架中的,但是他的效果是清除框架來顯示目標(biāo)文檔。這對于從框架結(jié)構(gòu)轉(zhuǎn)向無框架結(jié)構(gòu)是很有作用的。
現(xiàn)在我們知道了,target 是一目標(biāo)顯示的屬性與瀏覽器密切相關(guān)的。那么rel又是什么呢, 為什么很多人把他當(dāng)作是target 的替代屬性呢?下面我們就來認(rèn)識一下rel。其實(shí)不只有一個rel還有一個與之對應(yīng)的屬性叫rev,這兩個屬性的意思分別是:從源文檔到目標(biāo)文檔的關(guān)系;從目標(biāo)文檔到源文檔的關(guān)系。這里的源文檔可以理解為鏈接所處在的當(dāng)前文檔,而目標(biāo)文檔也就是這個鏈接將要打開的文檔。這下我們應(yīng)該清楚了,其實(shí)rel與rev是一種文檔之前的鏈接關(guān)系,而并非是與瀏覽器相關(guān)的如何顯示目標(biāo)文檔的屬性。
那么rel與rev有哪些關(guān)系呢?下面將一一列取并解釋其中的含義: