检测窗口正在卸载的位置
因此,在我的网站上,我在iframe中加载了一个网页,并且一些网站有框架破坏代码来突破iframe并将顶部窗口重定向到他们的页面。 我想使用onbeforeunload事件来确定网页被重定向到的位置。 有没有一个函数可以有效地让我做event.get_redirect_location
或沿着这些线?
许多研究让我得出这样的结论:如果window.location
从iframe中设置,那么JavaScript无法检查'下一个位置'将会出现的情况并比较两个域。
这是我知道的防止iframe跳出网站的唯一方法。 首先,您将onbeforeunload
功能设置为正常,并警告用户他/她将离开您的网站。 然后 - 这是关键部分 - 您将代码添加到您的内部链接,以防止页面更改触发onbeforeunload事件。 这意味着onbeforeunload
事件只会在用户离开您的域时触发:
(function(){
window.onbeforeunload = function()
{
if( !/bnagged=trueb/.test( document.cookie ) )
{
document.cookie = "nagged=true";
location.assign('http://www.mysite.com');
return "You are being redirected off our site!";
}
}
var lnk;
for(var i in document.links)
{
if( (lnk = document.links[i] ).href.indexOf( document.domain ) > -1 )
{
lnk.onclick = function()
{
window.onbeforeunload = null;
}
}
}
})();
链接地址: http://www.djcxy.com/p/59035.html