Return 外部链接免责声明(href 除外)
Return disclaimer on external links (with href exception)
我有一些 jQuery 代码可以检查站点上的所有 link,如果它是外部 link,则 return 免责声明。工作正常。我不希望免责声明出现在网站上的任何嵌入式 YouTube 视频中。我想更改代码以便发生这种情况。因此,如果 link 不包含 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;
});
});
我想在定义 link 不是 youtube 的代码下方插入代码,但我不知道将它放在原始代码中的什么位置。我是 jQuery 的新手。感谢您的帮助。
if $('a').not('[href^="//www.youtube"], [href^="https://www.youtube"]');
只需将 .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.");
});
});
我有一些 jQuery 代码可以检查站点上的所有 link,如果它是外部 link,则 return 免责声明。工作正常。我不希望免责声明出现在网站上的任何嵌入式 YouTube 视频中。我想更改代码以便发生这种情况。因此,如果 link 不包含 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;
});
});
我想在定义 link 不是 youtube 的代码下方插入代码,但我不知道将它放在原始代码中的什么位置。我是 jQuery 的新手。感谢您的帮助。
if $('a').not('[href^="//www.youtube"], [href^="https://www.youtube"]');
只需将 .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.");
});
});