您现在的位置: 365建站网 > 365学习 > 符合w3c 的 strict标准,用 rel 替换_blank打开新窗口

符合w3c 的 strict标准,用 rel 替换_blank打开新窗口

文章来源:365jz.com     点击数:174    更新时间:2009-09-15 09:54   参与评论
现在一般网站打开新窗口采用的是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;

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (174人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------