`
suliuyes
  • 浏览: 93816 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

关于在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的引用的问题,框架代码如下:

    <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窗口中跳转页面后需要还在 原来窗口打开则无需另外写代码,它默认就是在帧页面显示的!

分享到:
评论

相关推荐

    google不支持window.showModalDialog问题解决方案

    It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag enabled in `chrome://flags/#enable-javascript-harmony` and in the latest Mozilla Firefox with the *dom.dialog_...

    js模式化窗口问题![window.dialogArguments]

    在Firefox中,当使用`showModalDialog()`并且页面发生跳转时,`window.dialogArguments`对象会丢失,而在IE中则不会。这是因为Firefox的实现与IE有所不同。有两种解决方案: a. 将弹出的页面放入`frameset`或`...

    window.dialogArguments 使用说明

    `window.dialogArguments` 是一个在旧版的IE浏览器(Internet Explorer)中特有的JavaScript对象,它主要用于在模态对话框(`showModalDialog()`)和无模态对话框(`showModelessDialog()`)之间传递数据。...

    Window.ShowModalDialog使用手册

    然而,`Window.showModalDialog()`在现代浏览器中的支持并不一致,特别是在Chrome和Firefox中,出于安全和性能考虑,已经逐渐被弃用。开发者更倾向于使用`window.open()`配合`display: none`的CSS和JavaScript来模拟...

    window.showModalDialog方法的使用

    在JavaScript编程中,`window.showModalDialog`是一个用于打开模态对话框的函数,它能够创建一个新的浏览器窗口或者在当前窗口内显示一个弹出层,阻止用户与父窗口的交互,直到用户关闭对话框为止。这个方法在创建...

    showModalDialog open弹出子窗口操作parent、opener父窗口及跨域处理

    3&gt; IE与FireFox对两个弹出窗口在跨域时的解析也有不同:通过window.dialogArguments操作父窗口时,在IE下不需要指定document.domain而在FireFox下则正好相反需要指定才能生效;采用opener方式操作父窗口时都不需要...

    window.showModalDialog(javascript)

    在其他浏览器中,如Firefox、Chrome和Safari,可能需要使用其他方法,如`window.open()`,配合CSS和JavaScript来实现类似的效果。 - 模态对话框可能会对用户体验造成影响,因为它会阻塞用户的交互,因此在现代Web...

    showModalDialog:window.showModalDialog polyfill 使用元素

    它在最新的 Google Chrome 和最新的 Mozilla Firefox 中进行了测试,在about:config中将dom.dialog_element.enabled首选项设置为true 。 在使用showModalDialog函数之前,只需包含以下 HTML 代码: [removed]...

    dialogArguments

    1. **兼容性问题**:`dialogArguments`主要应用于Internet Explorer浏览器中,现代浏览器如Chrome、Firefox并不支持`window.showModalDialog()`方法,因此在跨浏览器开发时需特别注意。 2. **安全性和隐私**:由于`...

    showModalDialog参数使用详解

    需要注意的是,由于`showModalDialog`在某些浏览器(尤其是现代的Chrome和Firefox)中被弃用,开发者应考虑使用其他替代方案,如Bootstrap的模态插件、自定义CSS和JavaScript实现的模态框,或者使用HTML5的`&lt;dialog&gt;...

    浅谈JavaScript窗体Window.ShowModalDialog使用

    JavaScript中的`window.showModalDialog()`方法是Internet Explorer浏览器在IE4及更高版本中引入的一个功能,用于创建一个模态对话框。模态对话框是一种特殊的窗口,它在打开后会阻止用户与页面的其他部分交互,直到...

    window.showModalDialog()返回值的学习心得总结

    `window.showModalDialog()` 是一个在早期Web开发中常用的JavaScript函数,用于打开一个模态对话框,即在对话框打开期间,用户无法与对话框之外的任何页面元素交互。这个函数在IE4及以上版本的Internet Explorer中...

    showModalDialog技术文章

    5. **兼容性问题**:由于`showModalDialog`在现代浏览器中的支持度已经下降,文章可能会提到与IE、Firefox、Chrome等浏览器的兼容性问题,以及替代方案。 6. **优点和缺点**:分析`showModalDialog`相比于其他弹窗...

    showModalDialog打开窗体接收返回值

    需要注意的是,`showModalDialog`在现代浏览器中的支持情况并不理想,特别是在Chrome和Firefox等浏览器中已经默认禁用或计划移除。因此,如果需要跨浏览器兼容,开发者通常会选择使用`window.open`配合`window.post...

    showModalDialog模态对话框的使用详解以及浏览器兼容

    在其他浏览器,如Firefox和Internet Explorer,`showModalDialog`通常能正确实现模态对话框的效果。 由于这种不一致性,开发人员在使用`showModalDialog`时需要考虑跨浏览器的兼容性问题。在现代Web开发中,为了...

    JS打开模式对话框

    - 这些方法在现代浏览器中的支持情况可能不同,尤其是跨浏览器兼容性问题,例如 `showModalDialog()` 在某些版本的Firefox和Chrome中可能已被废弃或不推荐使用。 - 考虑到兼容性和用户体验,开发者通常会使用HTML5...

Global site tag (gtag.js) - Google Analytics