Web标准学习:Xhtml标准中弹出新窗口

王朝html/css/js·作者佚名  2008-05-20
窄屏简体版  字體: |||超大  

最近在做IDRSS在线RSS阅读器,符合XHTML1.1标准,但是发现一个问题,target="_blank"属性不再被支持!

在XHTML1.0过渡型标准之前,target="_blank"属性一直是点击链接后弹出新窗口的方法,但是在XHTML1.0严格型标准以及XHTML1.1之后就不再支持target属性(这个方法将通不过W3C的校验),也就是说不能再用target="_blank"来弹出一个新的窗口!我也不知道为什么W3C要取消这个标准,有些文章说在国外未经许可的弹出一个新窗口是不礼貌的表现,无语……东西方文化的不同,但毕竟标准掌握在人家手里,我们没有话语权!联想到最近的中国自己的无线标准:WAPI协议,更加显现出核心技术和标准的重要性!!!只有自己掌握了核心技术及标准才能维护我们自己的利益~

废话少说,弹出新窗口才是符合中国国情和用户习惯的,看看怎样在Xhtml1.0严格型标准以及以后的XHTML版本中支持打开新窗口:

在Xhtml标准中新增了一个rel属性,rel有许多的属性值,比如next、previous、chapter、section等等。我们要使用的就是rel="external"属性。原来这样写的代码:

<a href="document.html" target="_blank">新窗口</a> 现在要写成这样:

<a href="document.html" rel="external">新窗口</a>这是符合strict标准的方法。当然还必须配合一个javascript才有效。

javascript完整的代码如下:

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文件(比如external.js),然后通过外部联接方法调用:

<script type="text/javascript" src="external.js"></script>就是这样即可实现打开新窗口。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航