使用jquery在新窗口中打开不属于我网站的所有链接

Nil*_*s_e 1 javascript jquery adsense logical-operators

我不知道我要把什么放在'???' 检查网站是否是我的地址.这也适用于谷歌adsense广告(只是想知道,但不重要)?

我在考虑使用像'not'这样的逻辑运算符.所以它会检查我的网站是否不是?那么??? 会是我的网站吗?

$j(!a[href=???]).click(function(){
                window.open(this.href, "target=_blank");
                return false;
            });
Run Code Online (Sandbox Code Playgroud)

Jac*_*cob 5

试试这个:

$j('a')
    .not('[name^="http://your.domain.com/"]')
    .attr('target', '_blank');
Run Code Online (Sandbox Code Playgroud)

更新

我之前的修复只有在所有URL都是绝对的情况下才有效,这是一个不好的假设.试试这个:

$j('a[name^="http:"], a[name^="https:"]')
    .not('[name^="http://your.domain.com/"]')
    .attr('target', '_blank');
Run Code Online (Sandbox Code Playgroud)

此新版本会跳过所有相对URL.如果您的所有站点内URL都是相对的(即不要以#开头https?:),则可以跳过此呼叫.not.