五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 符合Web標(biāo)準(zhǔn)的超鏈接

符合Web標(biāo)準(zhǔn)的超鏈接

文章來源:365jz.com     點(diǎn)擊數(shù):226    更新時(shí)間:2008-07-20 22:49   參與評(píng)論

在HTML 4.0 Strict和XHTML 1.0 STRICT里不允許在<a>標(biāo)簽里使用target屬性,這是一件令網(wǎng)頁設(shè)計(jì)者懊惱的事.在過渡的規(guī)范里還是允許使用的.但通過一定的方法,我們可以解決這一問題.

HTMl4.0規(guī)范里拿掉了target屬性.但它添加了另外一個(gè)屬性:rel.這個(gè)屬性是用來指定包含鏈接的文檔和所鏈接文檔之間的關(guān)系的.規(guī)范里定義了其屬性值(如:next,previous,chapter,section),在這些屬性里大多數(shù)是用來定義一個(gè)大文檔里各個(gè)小部分之間的關(guān)系的.事實(shí)上.規(guī)范里允許開發(fā)人員自由的使用非標(biāo)準(zhǔn)屬性值做特定的運(yùn)用.

在這里,我們采用一個(gè)自定義值external用于rel屬性來標(biāo)記一個(gè)鏈接,用來新開一個(gè)窗口.

不符合最新Web標(biāo)準(zhǔn)的鏈接代碼:

<a href="document.html" target="_blank">external link</a>

運(yùn)用rel屬性:

<a href="document.html" rel="external">external link</a>

現(xiàn)在我們構(gòu)建了一個(gè)符合Web標(biāo)準(zhǔn)的新開窗口的鏈接,我們還需要運(yùn)用JavaScript是其實(shí)現(xiàn)新開窗口.腳本要實(shí)現(xiàn)的工作是當(dāng)網(wǎng)頁加載時(shí),找到文檔里的所有那些我們定義為rel="external"的超鏈接.

首先我們要判斷瀏覽器.

if (!document.getElementsByTagName) return;

getElementsByTagName是DOM1標(biāo)準(zhǔn)里一個(gè)容易使用的方法,且它被現(xiàn)在的大多數(shù)瀏覽器所支持,因?yàn)橐恍┡f的瀏覽器如Netscape 4和IE4不支持DOM1,所以我們必須通過判定這一方法是否存在來排除這些舊版本的瀏覽器.

下一步,我們通過getElementsByTagName方法取得文檔里所有的<a>標(biāo)簽:

var anchors = document.getElementsByTagName("a");

anchors被賦值為包含各個(gè)<a>標(biāo)簽的數(shù)組,現(xiàn)在我們必須遍歷各個(gè)<a>標(biāo)簽并且修改它:

for (var i=0; i < anchors.length; i++) {

var anchor = anchors;

找到要實(shí)現(xiàn)新開窗口的<a>標(biāo)簽

if (anchor.getAttribute("href") &&

anchor.getAttribute("rel") == "external")

接下來.建立屬性值target并賦值"_target":

anchor.target = "_blank";


完整的代碼:

------------------------

function externalLinks() {

if (!document.getElementsByTagName) return;

var anchors = document.getElementsByTagName("a");

for (var i=0; i<anchors.length; i++) {

var anchor = anchors;

if (anchor.getAttribute("href") &&

anchor.getAttribute("rel") == "external")

anchor.target = "_blank";

}

}

window.onload = externalLinks;

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (226人查看0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)