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




    本 站 搜 索
   推 荐 文 章        More...
华硕易电脑(ASUS Eee PC 10..
先来段开场白:为了外出携带方便..
Acronis True Image 使用..
  一款可以在Windows下使用..
Norton Ghost 使用详解
一、分区备份   使用Ghost..
    文 章 阅 读 排 行
“啊估文章软件站”网站系..
一、调试测试网站系统时,如何..
关于 Firefox 在中国持续..
亲爱的 Firefox 用户及 Firefox..
向日葵远程控制软件,设置..
向日葵远程控制软件有个人版和..
夸克网盘新用户注册如何获..
夸克网盘,新用户注册如何获得1..
FileZilla Server 设置参考
FileZilla Server 启动界面 ..
PakePlus 构建 APP 需要 Gi..
PakePlus 是一个基于 Rust Taur..
电脑显示器使用 HDMI 数据..
如果电脑显示器使用 HDMI 数据..
ASP/JavaScript:不刷新页..
function GuReturnElement(..
分享几个免费申请 SSL 证..
DigiCert 原 Symantec(赛门铁..
关闭微信的个性化推荐广告
有网友说到,微信的初衷是拉近..
 文 章 信 息
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
〖文章阅读说明〗
·本站大部分文章转载于网络,如有侵权请留言告知,本站即做删除处理。
·本站法律法规类文章转载自[中国政府网(www.org.cn)],相关法律法规如有修订,请浏览[中国政府网]网站。
·本站转载的文章,不为其有效性,实效性,安全性,可用性等做保证。
·如果有什么问题,或者意见建议,请联系[网站管理员]。