动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   网页设计 → 阅读文章

 使 XHTML Strict 支持 target 标签

作者来源: 
阅读 2363 人次 , 2006-2-16 14:53:00 

XHTML 1.0 Strict 之后就不支持 target 标签了。像如下形式的代码:

<a href="somewhere.html" target="_blank">link</a>就通不过 W3C 的验证。

因此要使得在xhtml的页面中能实现target功能,在新窗口中打开链接,有以下方法:

1.用javascript实现,如通过以下代码:

<a href="http://www.example.com"  onclick="window.open(this.href); 
return false">link</a>找到了一个很好的进行此种处理的JS,详见:Unobtrusive Popup Windows

2. 自己扩展XHTML 1.1的DOCTYPE 。

比如我现在使用的这个DTD:

<!DOCTYPE html PUBLIC "-//BLOG.JIANQING.NET//DTD XHTML 1.1 Target //EN" 
 "http://blog.jianqing.net/themes/theme2005/xhtml11-target.dtd">就是扩展了标准的XHTML  1.1 ,xhtml11-target.dtd 文件是这样的:

%xhtml11.mod; %xhtml-target.mod;

这样就使得target 标签有效了。

3.还有一个扩展方式就是在标准的XHTML DOCTYPE后加一句:

<!ATTLIST a target CDATA #IMPLIED>即使用如下的DOCTYPE声明:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
 "http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd"  
  <!ATTLIST a target CDATA #IMPLIED>这样也就可以使target标签有效了。不过在浏览器中会显示: ]> 这两个字符。要消除这个问题,必须使用正确的MIME来传送XHTML,XHTML的MIME类型应该设为application/xhtml+xml。只是修改Content-Type是没用的

具体可参看此文:Serving up XHTML with the correct MIME type

该文还提出了如何通过PHP来发送application/xhtml+xml的MIME类型的XHTML。

在dotClear也提供了这个功能。它能根据判断浏览器是否支持application/xhtml+xml的MIME类型自动选择是否发送application/xhtml+xml类型MIME。


从w3cn.org上看到了一篇同样讨论这个问题的文章:target="_blank"不符合标准?
http://www.w3cn.org/article/tips/2005/107.html


从 IBM 的 developerWorks 上看到了一篇关于 XHTML 2.0 的文章:Linking in XHTML 2.0。
http://www-128.ibm.com/developerworks/library/x-xhtmlnk.html
文章介绍了在 XHTML 2.0 中对于链接的规范。

文章的中文版本:XHTML 2.0 中的链接

  
 本文Tagshtml/css  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:能够在IE和FIREfOX下正常显示的网页内嵌播放器代码
· 下一篇:语言(文化)代码与国家地区对照表
· 认识FrontPage 2002扩充插件之三
· Email地址在网页中的保
· 利用Proxy类实现代理
· 精通 CSS 滤镜(一)
· XHTML第2天:什么是名字空间


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077