自由,平等,開源,分享

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            2 Posts :: 61 Stories :: 3 Comments :: 0 Trackbacks

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

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

            然而把它放在 W3C XHTML 1.0 Strict 標準下卻發現無法通過驗證。

            原來,在嚴格的 W3C DTD 下,<a /> 標簽的 target 屬性是不被官方所推薦的,使用 Strict 模式將視 target 屬性無效,我們只有利用 JavaScript 來變通實現。
            真不知道 W3C 專家們是怎么想的,或許“易用性、友好性”成為他們主張的關鍵,因為老外覺得不經過用戶同意,沒有明確提示就打開一個新窗口是不禮貌的。

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

            rel 屬性:規定當前文檔與目標 URL 之間的關系,即用來說明鏈接和包含此鏈接頁面的關系,以及鏈接打開的目標。
            我們將使用 rel="external" 作為 <a /> 標簽的特性,那么可以得到如下代碼:

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

            這是符合 W3C XHTML 1.0 Strict 標準的方法,當然還需要以個 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";}
            }
          }

            在頁面下載完成時自動加載:

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

            可以把以上兩段 JavaScript 代碼存儲在 external.js 文件里,然后通過外部鏈接方法調用:

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

          posted on 2008-05-12 11:17 龍震 閱讀(540) 評論(0)  編輯  收藏 所屬分類: W3C validation
          主站蜘蛛池模板: 当雄县| 蓬莱市| 周至县| 漳州市| 萍乡市| 凤翔县| 同心县| 和林格尔县| 积石山| 安徽省| 屏南县| 华容县| 桂东县| 甘泉县| 伊宁市| 裕民县| 麟游县| 普定县| 游戏| 双柏县| 涟源市| 嘉兴市| 隆化县| 兴义市| 浏阳市| 呼伦贝尔市| 中宁县| 永定县| 延边| 江孜县| 青田县| 华池县| 保康县| 伊宁市| 濮阳市| 三台县| 宁武县| 扶余县| 嘉善县| 长丰县| 老河口市|