在HTML 4严格和XHTML 1严格的情况下,不允许在标签中使用目标属性。这是一个网页设计师的烦恼。在过渡规范中允许。但是我们可以通过某种方式来解决这个问题。

HTML4.0规范了目标属性的。但它增加了另一个属性:关系。此属性用于指定链接文档和文档链接之间的包含关系。规范定义属性值(例如:下一步、上一章、章节、章节),这些属性中的大多数用于定义大型文档中各个小部分之间的关系。事实上,事实上.使用规范允许开发人员释放非标准属性值来做具体用途。

在这里,我们使用一个外部值来使用相对属性来标记一个新窗口的链接。

不符合最新Web标准的链接代码:
外部链接
使用相对属性:
外部链接
现在我们已经构建了一个符合Web标准的新的开放窗口链接。我们还需要使用Javascript来实现它的新的打开窗口。该脚本的工作是在Web页面加载时,将文档中定义的所有超链接定义为。

首先,我们必须判断浏览器。
如果(!文件相对应)的回报;
相对应的是一个易于使用DOM1标准方法,和现在的大多数浏览器支持,因为一些老的浏览器如Netscape和IE4 4不支持DOM1,所以我们必须确定是否有一个方法来排除这些老版本浏览器。

接下来,我们把文档中所有的标签通过getElementsByTagName方法。
VaR锚= document.getelementsbytagname();
锚被指定为包含各种标签的数组,现在我们必须遍历标签并修改它:
对于(var i = 0;i < anchors.length;i++){
变量锚点=锚点;
}
找到一个标签来实现一个新的打开窗口
如果(anchor.getattribute(href)anchor.getattribute(关系)= =外部)
下一个。建立属性的价值目标和分配价值_target :
anchor.target =_blank ;
完整的代码:
复制代码代码如下所示:
功能externallinks(){
如果(!文件相对应)。
返回;
VaR锚= document.getelementsbytagname();
对于(var i = 0;i < anchors.length;i++){
变量锚点=锚点;
如果(anchor.getattribute(href)anchor.getattribute(关系)= =外部)
anchor.target =_blank ;
}
}
在window.onload = externallinks;