在css中控制超链接target=_blank

15 篇文章 0 订阅
10 篇文章 0 订阅

<html>
<head>
<style type="text/css">
a:active {text:expression(target="_blank");}
a:visited {text:expression(target="_blank");}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>在css中控制超链接target="_blank"</title>
</head>
<body >
<a href="#">新窗口</a>
</body>
</html>
其实只有:a:visited {text:expression(target="_blank");} 起作用而已。
解释一下,这是利用expression来执行javascript语句,对IE5及更高版本的浏览器有效。详情请阅读:CSS中expression使用简介及相关文章。

 


下面是另一种方法我没有试过,麻烦。还不如直接在超链接里写了。

target="_blank"在严格的DOCTYPE下通不过验证,
target="new"只是临时的替代方法。
target="new"和target="_blank"效果是不一样的。
target="new"定义了打开的窗口名为new,所有target为new的连接都会在同一个窗口打开,而不是新窗口。
这里的new还可以是其他字符串~~例如target="fdsafjklsdjkla"

现在比较好的方法就是在链接中定义 rel="external"
然后再通过js来控制external,如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <meta http-equiv="Content-Language" content="zh-CN" />
  <title>新窗口</title>
  <script type="text/javascript"> 
  <!---
   function externalLinks() { 
     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"; 
     } 
   } 
   window.onload = externalLinks;
  -->
</script>
 </head>

 <body>
  <p>
   <a href="document.html" rel="external">external link</a>
  </p>
 </body>
 </body>
</html> 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值