求一段js代码,判断当前网址将被强行变更跳转,提示用户是否同意跳转,兼容性要好

2025-05-10 08:19:49
推荐回答(4个)
回答1:

var alist=document.getElementsByTagName('a');
for(var i=0;i if(alist[i].target=="_blank"&&(!!(alist[i].href.indexOf(location.protocol+'//'+location.hostname)))){
alist[i].onclick=function(){alert(!!(this.href.indexOf(location.protocol+'//'+location.hostname)))
if(confirm("非本站链接,是否跳转?")) //这里返回的是一个 true 或false ,判断用户选择跳转还是不跳转,你可以自己写个方法,

{return !0;} //返回 非0 即 true

else return !1; //返回 非1 即 false ,这里必须返回,否则用户选择false照样会跳转

}
}
}

alist[i].target=="_blank" 判断是不是 _blank

(!!(alist[i].href.indexOf(location.protocol+'//'+location.hostname))) 判断链接中是否有本站网址
我在firefox,Chrome,ie7~ ie10(ie10的兼容模式下)没有问题,顶多 ie6 会有问题,(我没有ie6 的环境就帮不了了), a.target 这个ie6应该也没有问题,你可以试一下

回答2:

你是说别人用frame之类的把你们的网站拿过来了吗?那就不要提示了 提示干什么?直接跳转
人家的网站使用frameset来显示我的网站的内容,
结果导致url是人家的,但是内容是我的。
人家的网站的代码我不可能修改,在这种情况下,
如何破解这个frameset,使其能显示我的url

解释
Js中的window.parent ,window.top,window.self 代表的对象
在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法打开当前窗口的那个窗口。

回答3:

利用事件冒泡




无标题文档


跳转到百度不可以点
跳转到其他页面可以点



IE8以及IE8一下浏览器你要做下兼容

回答4: