关于在FireFox 3.0 中showModalDialog的页面刷新window.dialogArguments引用丢失的解决方法
2009-04-30 15:05
621 查看
最近做的项目中由于要用到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窗口中跳转页面后需要还在原来窗口打开则无需另外写代码,它默认就是在帧页面显示的!
<frameset rows="0,100%" border="0" id="mainFrameset"> <frame src="about:blank" mce_src="about:blank" /> <frame src="MessageSend.do?method=selectUsers&entpTypeId=${af.map.entpTypeId}" mce_src="MessageSend.do?method=selectUsers&entpTypeId=${af.map.entpTypeId}" id="mainFrame" name="mainFrame" /> <noframes> <body> 对不起,您的浏览器不支持框架 </body> </noframes> </frameset>
其中mainFrame则是需要分页显示的帧页面,在此页面中如果需要引用dialogArguments对象的话,代码如下:
var parentWindow = window.parent.dialogArguments;
道理很简单,父窗口的引用dialogArguments是被框架持有的,而我需要的分页页面只是该框架中的帧页面,当页面跳转时只是帧页面刷新而框架本身不刷新,所以dialogArguments的引用就不会丢失了,用框架的另一好处就是如果在showModalDialog窗口中跳转页面后需要还在原来窗口打开则无需另外写代码,它默认就是在帧页面显示的!
相关文章推荐
- window.open()关闭子页面父页面不刷新的解决方法
- Easyui - dialog,window影响父页面布局的BUG解决方法
- 关于jQuery EasyUI 中刷新Tab选项卡 后一个页面变形的问题的解决方法
- 关于Leon.Zhou“ASP.NET2.0正式版中无刷新页面的开发”中示例代码与Firefox兼容的解决
- EasyUI 关于 panel,window,dialog 通过href加载页面,页面中引用的js不执行的解决方案
- ShowModelessDialog打开页面自动刷新问题解决方法【原】
- 关于form页面刷新重复提交的解决方法
- 解决 TextBox 的 ReadOnly 属性为 true 时,刷新页面后值丢失的方法
- 关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
- 关于使用updatepanle后页面还会刷新的个人解决方法。
- 关于mac下beginSheet:modalForWindow:modalDelegate:卷帘窗口挂载不上的问题及解决方法
- 关于在win7环境下线程里调用SaveFileDialog不能显示的解决方法
- PHP关于IE下的iframe跨域导致session丢失问题解决方法
- Javascript刷新页面的几种方法(页面刷新与弹出窗口问题解决方法)
- 解决Ext.Window放大关闭后滚动条消失和滚动页面时最大化Window位置的方法
- 解决Ext.Window放大关闭后滚动条消失和滚动页面时最大化Window位置的方法
- ubuntu14.04中关于flash插件在firefox无法使用的解决方法
- Android 5.0以上加slidingmenu后页面不刷新解决方法
- 关于魔兽世界3.0下载了2.64G更新包后仍然提示需要下载4.6G文档的解决方法收藏
- 关于未将对象引用设置到对象实例简单原理分析,与解决方法