js排查自动跳转除本域名外的代码?
以下是一段JS代码,可以用于检测和防止自动跳转到除本域名以外的网站:
// 获取当前页面的域名
var currentDomain = window.location.hostname;
// 获取所有的a标签
var allLinks = document.getElementsByTagName('a');
// 遍历所有的a标签
for (var i = 0; i < allLinks.length; i++) {
var link = allLinks[i];
// 获取当前a标签的href属性
var linkHref = link.getAttribute('href');
// 判断href属性是否以http或https开头,且不是本域名
if (linkHref && (linkHref.startsWith('http://') || linkHref.startsWith('https://')) && !linkHref.includes(currentDomain)) {
// 如果是,则阻止默认跳转行为
link.addEventListener('click', function(e) {
e.preventDefault();
});
}
}
这段代码会遍历当前页面中所有的a标签,判断它们的href属性是否以http或https开头,且不是本域名。如果是,则会阻止默认的跳转行为,从而防止自动跳转到除本域名以外的网站。