在HTML4.0Strict和XHTML1.0STRICT里不允许在<a>标签里使用target属性,这是
![](/icons/19862yi.gif)
件令网页设计者懊恼
![](/icons/19862de.gif)
事.在过渡
![](/icons/19862de.gif)
规范标准里还是允许使用
![](/icons/19862de.gif)
.但通过
![](/icons/19862yi.gif)
定
![](/icons/19862de.gif)
思路方法,我们可以解决这
![](/icons/19862yi.gif)
问题.
HTMl4.0规范标准里拿掉了target属性.但它添加了另外
![](/icons/19862yi.gif)
个属性:rel.这个属性是用来指定包含链接
![](/icons/19862de.gif)
文档和所链接文档的间
![](/icons/19862de.gif)
关系
![](/icons/19862de.gif)
.规范标准里定义了其属性值(如:next,previous,chapter,section),在这些属性里大多数是用来定义
![](/icons/19862yi.gif)
个大文档里各个小部分的间
![](/icons/19862de.gif)
关系
![](/icons/19862de.gif)
.事实上.规范标准里允许开发人员自由
![](/icons/19862de.gif)
使用非标准属性值做特定
![](/icons/19862de.gif)
运用.
在这里,我们采用
![](/icons/19862yi.gif)
个自定义值external用于rel属性来标记
![](/icons/19862yi.gif)
个链接,用来新开
![](/icons/19862yi.gif)
个窗口.
不符合最新Web标准
![](/icons/19862de.gif)
链接代码:
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]<ahref=\"document.html\"target=\"_blank\">externallink</a>
运用rel属性:
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]<ahref=\"document.html\"rel=\"external\">externallink</a>
现在我们构建了
![](/icons/19862yi.gif)
个符合Web标准
![](/icons/19862de.gif)
新开窗口
![](/icons/19862de.gif)
链接,我们还需要运用JavaScript是其实现新开窗口.脚本要实现
![](/icons/19862de.gif)
工作是当网页加载时,找到文档里
![](/icons/19862de.gif)
所有那些我们定义为rel=\"external\"
![](/icons/19862de.gif)
超链接.
首先我们要判断浏览器.
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]![](/icons/19862if.gif)
(!document.getElementsByTagName)
![](/icons/19862return.gif)
;
getElementsByTagName是DOM1标准里
![](/icons/19862yi.gif)
个容易使用
![](/icons/19862de.gif)
思路方法,且它被现在
![](/icons/19862de.gif)
大多数浏览器所支持,
![](/icons/19862yinwei.gif)
![](/icons/19862yi.gif)
些旧
![](/icons/19862de.gif)
浏览器如Netscape4和IE4不支持DOM1,所以我们必须通过判定这
![](/icons/19862yi.gif)
思路方法是否存在来排除这些旧版本
![](/icons/19862de.gif)
浏览器.
下
![](/icons/19862yi.gif)
步,我们通过getElementsByTagName思路方法取得文档里所有
![](/icons/19862de.gif)
<a>标签:
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]varanchors=document.getElementsByTagName(\"a\");
anchors被赋值为包含各个<a>标签
![](/icons/19862de.gif)
![](/icons/19862shuzu.gif)
,现在我们必须遍历各个<a>标签并且修改它:
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]for(vari=0;i<anchors.length;i
![](/icons/19862jiajia.gif)
){
varanchor=anchors;
找到要实现新开窗口
![](/icons/19862de.gif)
<a>标签
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]![](/icons/19862if.gif)
(anchor.getAttribute(\"href\")&&
anchor.getAttribute(\"rel\")
![](/icons/19862dd.gif)
\"external\")
接下来.建立属性值target并赋值\"_target\":
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]anchor.target=\"_blank\";
完整
![](/icons/19862de.gif)
代码:
![](\"http://www./Files/BeyondPic/2007-5/24/0752415591212129.g<img)
\" style=\"margin:0px 2px -3px 0px\" alt=\"div css xhtml xml Example Source Code\"/> Example Source Code
[www.52css.com]functionexternalLinks
![](/icons/19862kh.gif)
{
![](/icons/19862if.gif)
(!document.getElementsByTagName)
![](/icons/19862return.gif)
;
varanchors=document.getElementsByTagName(\"a\");
for(vari=0;i<anchors.length;i
![](/icons/19862jiajia.gif)
){
varanchor=anchors;
![](/icons/19862if.gif)
(anchor.getAttribute(\"href\")&&
anchor.getAttribute(\"rel\")
![](/icons/19862dd.gif)
\"external\")
anchor.target=\"_blank\";
}
}
window.onload=externalLinks;
延伸阅读
最新评论