灵活简洁的新窗口打开链接方式
yqxbc 发布时间:08-27 来源:一起学编程 浏览:3次
优点:
1、可通过W3C严格校验
2、调用更灵活(只需要在以新窗口打开的区域加入一句class="blank")
3、代码更简洁(不需要在每一句A标签里加traget="_blank“或rel="external")

PS:Internet Explorer6、Internet Explorer7、Firefox3、Opera9四种浏览器测试有效(Opera浏览器必须修改浏览器首选项,方法:“工具”-“首选项”-“弹出窗口”-不选择“屏蔽全部弹出窗口”即可)。

HTML部分:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
<title>新窗口打开链接方式(可通过校验、灵活调用、代码简洁)</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p class="blank">
  <a href="http://www.baidu.com">百度</a><br>
  <a href="http://www.google.cn">谷歌</a><br>
  <a href="http://www.cssrain.cn">前端技术(JS部分由前端技术站长cssrain提供,俺不会JS)</a><br>
  <a href="http://www.idealboy.cn">理想男孩(没空整)</a>
</p>
<script type="text/javascript" src="blank.js"></script>
</body>
</html>


JS部分: 
function ByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/-/g, "\\-";
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)"; 
var oElement; 
for(var i=0; i<arrElements.length; i++){ 
oElement = arrElements; 
if(oRegExp.test(oElement.className)){ 
arrReturnElements.push(oElement); 
   } 
}
return (arrReturnElements);
}
var blanks = ByClassName(document, "*", "blank";
for (var i=0;i<blanks.length;i++ ){  
var urls = blanks.getElementsByTagName("a";
for (var j=0;j<urls.length;j++ ){
  urls[j].target="_blank";   
}
}
如果你有好的win10资讯或者win10教程,以及win10相关的问题想要获得win10系统下载的关注与报道。
欢迎加入发送邮件到657025171#qq.com(#替换为@)。期待你的好消息!