〖打印本页〗〖打印选项〗 |
使XHTML Strict 支持 target 标签 |
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 wit 文章作者:未知 |