在外部链接上返回免责声明(带有href异常)

时间:2015-03-26 19:40:09

标签: jquery href external

我有一些jQuery代码来检查网站上的所有链接,如果是外部链接则返回免责声明。工作良好。我不希望在网站上的任何嵌入式YouTube视频中显示免责声明。我想改变代码,所以这发生了。因此,如果链接不包含youtube.com,则执行。

这是原始的工作代码:

$(document).ready(function(){		
		
		$('a').filter(function() {	

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

 		})

 		.click(function () { 

 		var x=window.confirm("You are now leaving our website. Click OK to proceed or cancel to stay on this page."); 

		var val = false;
		if (x)
			val = true;
		else
			val = false;
		return val;

        });			
			
});

我想在代码下面插入代码来定义链接是不是youtube,但我不知道将它放在原始代码中的哪个位置。我是jQuery的新手。谢谢你的帮助。

if $('a').not('[href^="//www.youtube"], [href^="https://www.youtube"]');

1 个答案:

答案 0 :(得分:0)

只需将.not()链接到.filter()之后。此外,您在点击确认中也有很多冗余代码,所以我也清理了它:

$(document).ready(function(){       
    $('a').filter(function() {  
        return this.hostname && this.hostname !== location.hostname;
    }).not('[href^="//www.youtube"], [href^="https://www.youtube"]').click(function () { 
        return confirm("You are now leaving our website. Click OK to proceed or cancel to stay on this page."); 
    });                 
});