将HTML锚定到严格的docktype中的新窗口

siv*_*636 1 html anchor xhtml-1.0-strict

我们使用标签的"target"属性来指定链接的目标位置.

但"目标"属性不能在严格DOCTYPE使用(I称为此在http://w3schools.com/tags/tag_a.asp).那么如果我们使用严格的doctype,解决方案是什么?

Phi*_*ler 5

简而言之,JavaScript.

严格的doctype被认为是"严格的文档内容",而不是目标属性定义的行为.它假定用户将决定并完全控制如何在浏览器中打开链接.

解决方案是使用JavaScript来定义链接的打开方式.您可以使用类或其他属性来创建JS库以强制它们在新窗口中打开:

<a href="test.php" rel="external">my link</a>
Run Code Online (Sandbox Code Playgroud)

所以你的脚本可能如下所示:

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;
Run Code Online (Sandbox Code Playgroud)

这在jQuery中更容易:

$(function(){
  $('a[rel=external]').attr('target', '_blank');
});
Run Code Online (Sandbox Code Playgroud)