自由,平等,开源,分享

  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 龙震 阅读(515) 评论(0)  编辑  收藏 所属分类: W3C validation

只有注册用户登录后才能发表评论。


网站导航: