我们使用标签的“target”属性来指定链接的目标位置。
但是“target”属性不能在严格的文档类型中使用(我在http://w3schools.com/tags/tag_a.asp提到了这个)。那么如果我们使用严格的 doctype 有什么解决方案呢?
我们使用标签的“target”属性来指定链接的目标位置。
但是“target”属性不能在严格的文档类型中使用(我在http://w3schools.com/tags/tag_a.asp提到了这个)。那么如果我们使用严格的 doctype 有什么解决方案呢?
简而言之,JavaScript。
严格的文档类型被松散地认为是“严格的文档内容”,而不是目标属性定义的行为。它假定用户将决定并完全控制链接在浏览器中的打开方式。
解决方案是使用 JavaScript 来定义链接的打开方式。您可以使用类或其他属性来拥有一个 JS 库来强制它们在新窗口中打开:
<a href="test.php" rel="external">my link</a>
因此,您的脚本可能如下所示:
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;
这在 jQuery 中更容易:
$(function(){
$('a[rel=external]').attr('target', '_blank');
});
使用允许的过渡文档类型target
,或者如果您想打开一个新窗口,请使用 JavaScript。
如果您不能依赖默认锚点行为,window.open() 是打开新选项卡的编程方式。但是,这将被许多弹出窗口拦截器拦截。考虑一个文档内覆盖。http://www.javascript-coder.com/window-popup/unblockable-popup.phtml