说实话,我没有用过这种方法,也不知道是否非常有用。但总体来说,它的效率肯定不如直接target="_blank"好吧?
如果不用JS,那以后的版本里怎么办才好呢?难道不开新窗了?怎么办?未来该如何操作?
原文如下:
itpob:http://www.cnblogs.com/itpob/archive/2009/07/19/1526700.html
- 现在一般网站打开新窗口采用的是target="_blank",这在过渡型DOCTYPE(xh tml1-transitional. dtd)下是允许的,但也不符合W3C的strict(xhtml1-strict.dtd)标准。
 - 如果你去验证,会发现有下面的错误提示:
 - "there is no attribute target for this element(in this HTML version)"
 - 这是因为W3C认为如果不经过用户同意,没有明确提示就打开一个新窗口是不礼貌的。所以我们只好用下面的rel属性来解决这个问题。rel是 HTML4.0新增加的一个属性,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、 previous,、chapter、section等等。
 - 我们用rel属性的external和一个js脚本来解决问题,代码如下:
 - <a href=”http://www.kepu8.com“ rel="external"> 打开一个新窗口</a>
 - * 大量古细菌在海底被发现
 - * 英开发致命超级病菌-绿脓杆菌早期检测技术
 - * 无需 DNA 细菌也变身
 - * 小袋鼠育儿袋内吃奶照片
 - * 大白鲨类似连环杀手-捕食方式揭秘
 - * 蚂蚁长寿差异之谜:蚁后更长寿的秘诀在于多睡觉
 - * 张启发院士:培育绿色超级稻可缓解农业生态问题
 - * 广西反季节龙眼新品种挂果枝率达98%以上
 - * 日本专家从柚子皮中提取出能抑制过敏的物质
 - * 水稻精确定量栽培技术实现新突破
 - 我们把js文件存储为external.js,然后通过<script type="text/javascript" src="external.js"></script>调用
 - 下面是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;
 

