有没有一种很好的方式来检查被点击的链接的 URL 是否指向另一个主机?
$(document).ready(function() {
$('a[target="_blank"]').click(function() {
if (confirm('This link will open in an new window.')) {
return true;
} else {
return false;
}
});
});
我不能依靠 CMS 来过滤指向另一台主机的每个链接并添加属性target="_blank"
。所以我想测试点击链接的 URL,我认为这是一个更强大的测试。
我知道我可以编写一些自定义代码来测试各种string starts with
场景。但是是否已经有一个很好的 jQuery(或其他)功能呢?
解决方案:
谢谢你的帮助!我应用了这个解决方案:
$(document).ready(function() {
$('a').click(function() {
if (this.host != location.host) {
$(this).attr('target', '_blank'); // add or override the attribute (in case there isn't one already)
return confirm('This link will open in an new window.');
}
});
});
顺便说一句:我只会在网站处于移动模式(使用modernizr)时使用此代码。所以我可以包装应用程序PhoneGap
并防止用户在某个随机站点上处于全屏模式而无法返回。