创建在新窗口中打开外部链接的例外

时间:2012-08-30 16:22:46

标签: javascript jquery hostname

我使用简单的Jquery脚本在所有外部链接上强制target="_blank"。问题是它在新窗口中打开子域。我想调整此代码,以便在相同的浏览器会话中允许使用子域,而不是强制使用新窗口。

例如,如果我的网站位于http://pixeltest.com并且我有http://test.pixeltest.com的链接,则会在新窗口中打开。

守则:

$("a").filter(function() {
    return this.hostname && this.hostname !== location.hostname;
}).attr('target', '_blank');

关于我如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:2)

变化

return this.hostname && this.hostname !== location.hostname;

return this.hostname && this.hostname.substr(this.hostname.indexOf('.')) !== location.hostname.substr(location.hostname.indexOf('.'));

这应该只比较第一个点后的所有内容。