国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

用javascript來控制 鏈接的target 屬性的代碼

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

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

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

不符合最新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)建了一個符合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)里一個容易使用的方法,且它被現(xiàn)在的大多數(shù)瀏覽器所支持,因?yàn)橐恍┡f的瀏覽器如Netscape 4和IE4不支持DOM1,所以我們必須通過判定這一方法是否存在來排除這些舊版本的瀏覽器. 

下一步,我們通過getElementsByTagName方法取得文檔里所有的<a>標(biāo)簽: 
var anchors = document.getElementsByTagName("a"); 
anchors被賦值為包含各個<a>標(biāo)簽的數(shù)組,現(xiàn)在我們必須遍歷各個<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"; 
完整的代碼: 
復(fù)制代碼 代碼如下:

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;
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 齐河县| 铜山县| 临湘市| 上思县| 渝北区| 昌宁县| 会宁县| 丹棱县| 莱阳市| 罗甸县| 泰顺县| 邻水| 西乌| 白玉县| 大港区| 岢岚县| 万山特区| 萨嘎县| 蒙山县| 新宾| 曲周县| 高尔夫| 绩溪县| 美姑县| 体育| 海原县| 托克托县| 额尔古纳市| 阳西县| 玉田县| 荔浦县| 龙胜| 巴南区| 年辖:市辖区| 宜兰市| 三门峡市| 宁陕县| 中山市| 曲阜市| 沁水县| 台中县|