您当前位置:首页 >> web标准 >> js实现让链接target符合w3c标准
js实现让链接target符合w3c标准
更新时间:2008-02-25参与评论
W3C强调的是网站对用户的友好度,在很多的老外眼中,未经用户同意就打开一个新窗口显然是一种不礼貌的行为,自然网站对用户就不够有好了。如果你经常浏览英文网站,你就会发现绝大多数的英文网站打开链接的方式都是都是在当前窗口打开。但我们国内用户已经习惯了在新窗口打开链接,以方便浏览之前浏览过的网站,而不愿意像老外一样试用浏览器上的后退键寻找之前所浏览的网站。
那该如何解决呢?一个是国内用户常年形成的网页浏览习惯,一个是越来越被重视的网站W3C标准化,似乎放弃任何一个都会让站长们感到不甘心。其实也不是没有别的办法,通过JavaScript来变通实现就是一个很好的方法。
rel属性HTML4.0增加了一个新属性:rel,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、previous,、chapter、section等等。我们需要将以前的target="_blank"属性替换成rel="external"属性。
原代码:<a href="document.html" _fcksavedurl=""document.html"" target="_blank"> 打开一个新窗口</a>现在要写成这样:
<a href="document.html" rel="external">打开一个新窗口</a>下面是符合W3C标准的方法,要配合一个javascript完整的代码JS如下:
function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externallinks;
您可以把它保存成一个.js文件,然后通过外部联接方法调用:
<script type="text/javascript" src="external.js"></script>


