网页中有个iframe,iframe页面有onbeforeunload事件,onbeforeunload的时候怎样可以判断iframe本页操作触发还是在父页面操作触发呢?不要说用clientX,想想就知道不行!

解决方案 »

  1.   

    如果是父页面触发的话 应该先执行父页面的onbeforeunload事件 你在父页面里面加上这个事件并且修改父页面里面的一个元素的属性 再在iframe里的onbeforeunload事件里判断parent的那个元素的属性 就知道是不是父页面触发的了
      

  2.   

    谢谢,但是我不能修改父页面,有没有现实的方法,试过用event.srcElement好像也没法
      

  3.   

    你在iframe里面给父页面加事件嘛 
    var flag = false;
    parent.onbeforeunload = function()
    {
    flag = true;
    }
      

  4.   

    问题是父页面可能会有一个链接使iframe  unload,而父页面是没有unload的
      

  5.   

    如果父页面没有unload那么flag=false;
      

  6.   

    iframe里面的页面的js代码flag = false;parent.onbeforeunload = function()
    {
    flag = true;
    }window.onbeforeunload = function()
    {
    if(flag)
    {
    //父页面也被unload
    }
    else
    {
    //父页面没有被unload (只有本页面unload)
    }
    }
      

  7.   

    我不管父页面有没unload,我只想知道:iframe unload时,是iframe本页面自己提交?还是父页面操作引起(比如父页面有个button使iframe unload)?不知道我表达清楚没?
      

  8.   

    具体情况具体分析 但有个简单的方法 你可以判断一下焦点是否在本页面
    给本页面加上2个事件的方法
    var flag = false;
    window.onfocus = function(){flag=true;}
    window.onblur = function(){flag=false;}判断flag=true的话就是本页面的操作 flag=false的话就不是本页面的操作