文章·资料 电脑软件 手机软件 网站源码




    本 站 搜 索
   推 荐 文 章        More...
华硕易电脑(ASUS Eee PC 10..
先来段开场白:为了外出携带方便..
Acronis True Image 使用..
  一款可以在Windows下使用..
Norton Ghost 使用详解
一、分区备份   使用Ghost..
    文 章 阅 读 排 行
世界各国所使用的国际域名..
域名缩写 国家/地区 ..
关于 Firefox 在中国持续..
亲爱的 Firefox 用户及 Firefox..
全国各地、公共 DNS 服务器
排序 地区/公司名称 ..
Microsoft SQL Server 2000..
  对于第一次安装 Microsoft ..
Windows 系统安装或备份时 ..
【ISO 文件】 ISO 文件其实..
Windows PE 系统安装微软..
如果电脑没有光驱,或者没有把..
ASP 网页编码 GB2312 转换..
1、用记事本打开文件(如果整站..
腾讯:难以承受之痛的背后..
亲爱的网吧管理员:   在此,..
SATA 硬盘分区设置与安装..
  随着i865、i875、KT600等..
Windows XP 安装界面修改..
安装装界面----也就是安装复制..
 文 章 信 息
XHTML 中 a 标签 target 属性失效的解决方法
评论()〗〖留言〗〖收藏
〖文章分类:电脑·手机·网络 / 网站设计·开发·优化〗〖阅读选项
  在HTML 4.01/XHTML 1.0/XHTML 1.1严格DOCTYPE(XHTML 1.0 Strict)下,<a>标签的target属性失效,即target="_blank"等控制将失效,无法通过W3C的校验,只有采用过渡型的DOCTYPE(XHTML1-transitional.dtd)。

  为了严格地通过W3C的校验,我们只有想办法避免使用target属性。我看到有人在网上提出在<head>元素中加入:<base target="_blank" />。<base>是一个链接基准标记,用以改变页面中所有链接标记的参数默认值。表面上这样可以避免问题,但是我们从官方资料上可以看到,base标签的target属性已经被去掉了,并且base被强制要求加入href属性http://liorean.web-graphics.com/xhtml/comparison.loose-strict.html。因此,此法肯定不行。

  我在网上搜集了两种方法,都是用JS解决的。从理论上讲,这些应该是最好的方法了。

1.使用CSS+JS,比较规范,但是如果浏览器屏蔽弹出窗口,就不好使了
<script>
function test1()
{
window.open(this.href,"","");
return false
}
function test2()
{
window.open(this.href,"51windows","top=10,height=10,width=240,height=180");
return false
}
</script>

<style>
.newwin1 {haiwa:expression(this.onclick=test1)}
.newwin2 {haiwa:expression(this.onclick=test2)}
</style>

<a href="about:blank" class=newwin1>新窗口</a><br />
<a href="about:blank" class=newwin2>新窗口</a><br />

2.单纯使用JS,在需要的<a>标签中加入rel=external。当然,你也可以把external换成别的,前提是你要看懂下面的程序,并加以修改。
function outlinks() {
   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";
   }
}

     虽然问题可以解决,但仍然是不舒服的,因为在HTML时代很简单的一件事情,现在变得如此麻烦。我总觉得XHTML这个标准在这里是不是有点不合理,或许真的有他的道理,希望能见到更好的官方或者民间的解决方法。

文章作者:未知  更新日期:2010-10-20
〖文章浏览:〗〖发送文章〗〖打印文章
相关文章 ·table 建站,div 和 XHTML 建站的不同2010-10-19
·我对 XHTML 不支持 target 属性的联想2010-10-20
·使XHTML Strict 支持 target 标签2010-10-20
相关软件 ·HTML 4.01 XHTML 1.0 参考手册2010-10-29
·XHTML 技术内幕2010-10-29
·xhEditor V1.0.0 RC3(XHTML编辑器)2010-06-17