欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>网站制作技术>>文章内容
WEB新标准中链接弹出新窗口的解决办法
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
  在xhtml1.0 Strict以及再往后的版本xhtml1.1和xhtml2.0中,去掉了target属性,而在xhtml1.0 Transitional以及更低版本中可以使用,详情见
那么为什么要去掉这个在以前的版本中看起来很有用的属性呢?W3C是这样解释的,为了提高网页的质量,提高易用性,这一点和508 section以及AA等级有关.尽量地让链接只在一个浏览器窗口中来回跳转,而不要弹出新窗口,因为弹出的新窗口没有"后退"选项!
即使这样,我们还是要在一定的时候需要弹出新窗口来,比如说友情链接部分,我不想让我的用户因为友情链接就这样离开我的站了,怎么办?只有打开新的窗口来显示友情链接.那么在符合标准的情况下如何解决呢?那只好用javascript了.如下面的链接
<a href=”; onclick=”window.open('http://{域名已经过期}');return false;” onkeypress=”window.open('http://{域名已经过期}');return false;”>生活新色彩</a>
至于javascript弹出新窗口的用法,就不解释了.支持JS的浏览器中点击上面的链接,会弹出新窗口,由于onclick事件中有个return false,所以后面的onkeypress事件就不会发生,并且href这个事件也不会发生,也就是弹出新窗口,原窗口也不跳.如果没有return false那么原窗口和新窗口都转到http://{域名已经过期}这个链接了.
有人要问了,那为什么后面还要加个onkeypress事件呢,并且触发的功能也是一样的?这是因为,对于一些早期版本的或是别的厂商的浏览器,不支持onclick用法,却对onkeypress用法感冒,这样的话,就兼容了绝大多数的浏览器的.
有人喜欢这样写<a href=”javascript:window.open('http://{域名已经过期}');”>生活新色彩</a>,虽然这样子可能也能通过验证(我没试过),但是这样会造成可访问性的问题.比如说,如果某个用户的浏览器禁用了javascript,甚至可能用户的浏览器根本就不支持javascript的话,那么你这个链接就成了"死链",用户无法达到他想要去的页面了,所以在我的方法里href属性不能丢,即使是最古老或是最怪异的浏览器,也会支持href属性的,当然我们牺牲了弹出新窗口这个功能,但可能对于这些极少数的用户,我们已经不会去考虑弹新窗口的问题了.
/over
附件:
    关闭窗口
    打印文档
    账号登录
    保持登录 忘记密码?
    账号与武进教师培训平台同步