检测窗口正在卸载的位置

因此,在我的网站上,我在iframe中加载了一个网页,并且一些网站有框架破坏代码来突破iframe并将顶部窗口重定向到他们的页面。 我想使用onbeforeunload事件来确定网页被重定向到的位置。 有没有一个函数可以有效地让我做event.get_redirect_location或沿着这些线?


许多研究让我得出这样的结论:如果window.location从iframe中设置,那么JavaScript无法检查'下一个位置'将会出现的情况并比较两个域。

这是我知道的防止iframe跳出网站的唯一方法。 首先,您将onbeforeunload功能设置为正常,并警告用户他/她将离开您的网站。 然后 - 这是关键部分 - 您将代码添加到您的内部链接,以防止页面更改触发onb​​eforeunload事件。 这意味着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

上一篇: Detecting where a window is unloading to

下一篇: Preventing frame busting with access to page source