今天做项目遇到个问题遇到个兼容问题,望高人给予解答!在火狐浏览器中弹出一个子窗口,子页面中是一个分页,点下一页后子页面会刷新,然后window.dialogArguments对象就丢失了
分页控件用的是AspNetPager(这种情况在IE下不会出现)我需要拿到我点击的值,点击的方法如下:    function returnValue(flag)
    {
        document.getElementById("rValue").value=flag;
        var myObj = window.dialogArguments;
        alert(myObj); 
        myObj.value = flag; 
        window.close();
    }
我到第二页面点击时  弹出undefined
怎么样解决这个问题了,就是火狐下问题.搞了几个小时了头大了,忘高人帮帮忙

解决方案 »

  1.   

    方法就是放在frameset或者iframe里面。进行一次包装
      

  2.   

    还是不理解,可以说的详细点么?父页面是iframe导入的页面,然后再弹出子页面和这个问题有关么?确实头很大......  大侠们帮帮忙!
      

  3.   

    window.showModalDialog("xx.aspx")
    xx,aspx
    <frameset cols="0,*">
    <frame src=""/>
    <frame src="你现在的页面"/>
    </frameset>返回地面可能就变为
    window.parent.dialogArguments;
    window.parent.close();
      

  4.   

    关于在FireFox 3.0 中showModalDialog的页面刷新window.dialogArguments引用丢失的解决方法
      

  5.   

    我在头大中也想出一种办法,不过这种办法比较蠢,用了IE 不支持的window.opener.document 对象
    判断下是什么浏览器,然后给window.opener.document.getElementById("隐藏域").value赋值;
         function returnValue(flag)
        {
            document.getElementById("rValue").value=flag; 
            if (window.ActiveXObject)   //IE浏览器   
            { 
                var myObj = window.dialogArguments;
                //alert(myObj); 
        myObj.value = flag; 
        window.close();
     }
     else{
        window.opener.document.getElementById("hid_oilid").value=flag;
                window.opener.document.getElementById("txt_oil").value=flag+"号";
                //self.close();
                window.close();
     }   
        }
      

  6.   

    非常感谢2位大虾级人物{net_lover、liuchaolin}的帮助,问题已经解决 结贴了......非常感谢