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

最近做的项目中由于要用到showModalDialog,很自然的调用它的父窗口就用window.dialogArguments了,在网上许多友说FireFox 2.0不支持dialogArguments只有FireFox 3.0才支持,我没在2.0上运行过,但至少3.0是支持的,言归正传,在showModalDialog窗口中需要分页显示,所以等程序写好后在IE下运行很正常,但在FireFox 3.0中运行时,如果页面不跳转则可以正常的调用window.dialogArguments,若页面一跳转则会丢失window.dialogArguments的引用。我试了些其他的方法也没有很好的解决,最终想到了如果在showModalDialog窗口中放置框架的话,则可以很好的解决这个丢失window.dialogArguments的引用的问题,框架代码如下:

其中mainFrame则是需要分页显示的帧页面,在此页面中如果需要引用dialogArguments对象的话,代码如下:

道理很简单,父窗口的引用dialogArguments是被框架持有的,而我需要的分页页面只是该框架中的帧页面,当页面跳转时只是帧页面刷新而框架本身不刷新,所以dialogArguments的引用就不会丢失了,用框架的另一好处就是如果在showModalDialog窗口中跳转页面后需要还在原来窗口打开则无需另外写代码,它默认就是在帧页面显示的!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值