我想强制在我的网站上的所有外发链接在包含一些简单<header>
代码的新标签页中打开。我知道您可以强制所有链接在<header>
标记中使用此代码在新标签中打开:
<base target='_blank' />
但我只想定位外向链接(这样我的网站上另一个页面的链接就不会在新标签中打开)。无论如何要做到这一点?我觉得必须有......
答案 0 :(得分:4)
我在我的网站上使用Javascript做到了这一点。我发现在页面加载时更容易解析我的所有链接,并以编程方式添加_blank
目标,而不是手动将属性添加到链接。 (奖励:篡改JS中的target
属性可以让你的代码validate)
我在我的网站上使用了JQuery,但逻辑很简单:
$(document).ready(function()
{
parseLinks();
});
function parseLinks()
{
// Manage external links
$("a").each(function()
{
if ($(this).attr("href").indexOf("://") >= 0)
{
$(this).attr("target", "_blank");
}
});
}
如果您不想使用JQuery:
window.onload = function()
{
parseLinks();
};
function parseLinks()
{
// Manage external links
var Links = document.getElementsByTagName("a");
for (var i = 0; i < Links.length; i++)
{
if (Links[i].href.indexOf("://") >= 0)
{
Links[i].target = "_blank";
}
}
}
我把它放在一个函数中,这样你就可以在需要重新运行代码时调用parseLinks
(AJAX调用,用户交互后等)。