我有一些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"]');
答案 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.");
});
});