自由,平等,開(kāi)源,分享

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            2 Posts :: 61 Stories :: 3 Comments :: 0 Trackbacks

            通常情況下,我們要打開(kāi)一個(gè)外部鏈接(新開(kāi)窗口),往往使用如下代碼:

          <href="" target="_blank"></a>

            然而把它放在 W3C XHTML 1.0 Strict 標(biāo)準(zhǔn)下卻發(fā)現(xiàn)無(wú)法通過(guò)驗(yàn)證。

            原來(lái),在嚴(yán)格的 W3C DTD 下,<a /> 標(biāo)簽的 target 屬性是不被官方所推薦的,使用 Strict 模式將視 target 屬性無(wú)效,我們只有利用 JavaScript 來(lái)變通實(shí)現(xiàn)。
            真不知道 W3C 專(zhuān)家們是怎么想的,或許“易用性、友好性”成為他們主張的關(guān)鍵,因?yàn)槔贤庥X(jué)得不經(jīng)過(guò)用戶(hù)同意,沒(méi)有明確提示就打開(kāi)一個(gè)新窗口是不禮貌的。

            我們姑且不管這樣的概念是否真正合理,先看看解決辦法:

            rel 屬性:規(guī)定當(dāng)前文檔與目標(biāo) URL 之間的關(guān)系,即用來(lái)說(shuō)明鏈接和包含此鏈接頁(yè)面的關(guān)系,以及鏈接打開(kāi)的目標(biāo)。
            我們將使用 rel="external" 作為 <a /> 標(biāo)簽的特性,那么可以得到如下代碼:

          <href="" rel="external"></a>

            這是符合 W3C XHTML 1.0 Strict 標(biāo)準(zhǔn)的方法,當(dāng)然還需要以個(gè) JavaScript 方法作配合:

          function external(){
            
          var anchors=document.getElementsByTagName("a");
            
          for(var i=0;i<anchors.length;i++){
              
          if(anchors[i].getAttribute("rel")=="external"){anchors[i].target="_blank";}
            }
          }

            在頁(yè)面下載完成時(shí)自動(dòng)加載:

          window.onload=function(){
            external();
          };

            可以把以上兩段 JavaScript 代碼存儲(chǔ)在 external.js 文件里,然后通過(guò)外部鏈接方法調(diào)用:

          <script type="text/javascript" src="external.js"></script>

          posted on 2008-05-12 11:17 龍震 閱讀(535) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): W3C validation
          主站蜘蛛池模板: 东莞市| 平遥县| 宁波市| 平塘县| 宜都市| 东辽县| 上栗县| 繁峙县| 海兴县| 固始县| 赞皇县| 庆城县| 灌阳县| 六枝特区| 阜平县| 晋城| 甘泉县| 团风县| 马山县| 绥化市| 岚皋县| 南阳市| 阿鲁科尔沁旗| 女性| 裕民县| 长白| 巩留县| 宜黄县| 南木林县| 双城市| 南部县| 合川市| 伊吾县| 仪征市| 建始县| 章丘市| 义马市| 乳山市| 河南省| 平阳县| 钟祥市|