`
desert3
  • 浏览: 2159309 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

模式对话框画面自提交后,dialogArguments丢失的问题(Firefox)

阅读更多
主画面弹出模式对话框,要求在模式对话框画面能单次动态操作主画面内容可以通过window.returnValue来实现
多次动态操作主画面内容可以通过传递主画面的函数到弹出页面来实现

Firefox下window.showModalDialog弹出的模式对话框画面,画面自提交后,window.dialogArguments会丢失,同时window.opener属性存在

而IE下下window.showModalDialog弹出的模式对话框画面,画面自提交后,window.dialogArguments不会丢失,同时window.opener属性不存在

兼容的做法(没有测试过IE,Firefox以外的浏览器)
	var callBack = null;
	// IE浏览器 (画面自提交后,window.dialogArguments不会丢失,同时window.opener属性不存在)
	if ($.browser.msie){
		callBack = window.dialogArguments;
	}
	else
	{
		// Firefox浏览器(画面自提交后,window.dialogArguments会丢失,同时window.opener属性存在),
		if (window.opener.callBack == undefined) {
			window.opener.callBack = window.dialogArguments;
		}
		callBack = window.opener.callBack;
	}
分享到:
评论
5 楼 chengxj_1986 2010-11-19  
之前我也做了一个,子窗框访问父窗体有限制,后来我又做了一个div的遮照层
4 楼 desert3 2010-11-13  
returnValue只能在关闭模式对话框的时候使用!!!
需求是模式对话框弹出的过程中,操作N次画面
(其实就是弹出一个品牌页面,点击一个按钮就选中
一个品牌,点击N次选择N个)
3 楼 qinglintan 2010-11-12  
returnValue...
2 楼 desert3 2010-11-11  
嗯 不过即使是Windows对象,弹出画面自提交后也存在丢失的问题
1 楼 xyztony1985 2010-11-11  
callBackFunction一般传个window对象,也很省事

相关推荐

    JS打开模式对话框

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

    js 模式窗口(模式对话框和非模式对话框)的使用介绍

    需要特别注意的是,在创建模式对话框时,通常会向对话框传递一些参数,然后在对话框中通过window.dialogArguments获取这些参数。 showModalDialog和showModelessDialog函数的sFeatures参数是字符串类型的,可以用来...

    dialogArguments

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

    showModalDialog及dialogArguments使用

    8. **status**: 是否显示状态栏,默认为`yes`(模式对话框为`no`)。 9. **scroll**: 是否显示滚动条,默认为`yes`。 10. **dialogHide**: 在打印预览或打印时是否隐藏对话框,默认为`no`。 11. **edge**: 边框样式...

    Window.ShowModalDialog使用手册_对话框 .txt

    - 使用这些方法可能会带来安全性和兼容性问题,因此建议在现代 Web 开发中寻找替代方案。 - 对于需要跨浏览器兼容的项目,可以考虑使用 JavaScript 模态库(例如 Bootstrap Modal 或 jQuery UI Dialog)来实现类似...

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

    3. `dialogArguments`对象在Firefox中的丢失问题: 在Firefox中,当使用`showModalDialog()`并且页面发生跳转时,`window.dialogArguments`对象会丢失,而在IE中则不会。这是因为Firefox的实现与IE有所不同。有两种...

    非模态对话框window.showModelessDialog简单示例

    对话框页面可以通过`window.dialogArguments`访问这些传递的参数。 在描述中提到的,我们可以利用`window.showModelessDialog()`来打开一个新的页面并传值给第一个页面。这通常涉及到页面间的数据通信。当我们在...

    js对话框传递参数

    ### JS对话框传递参数 #### 一、简介 在JavaScript中,通过对话框进行参数传递是一种常见的交互方式,尤其在需要弹出一个模态对话框并与其进行数据交换的场景下更为常见。本文将详细介绍如何利用`window....

    javascript 页面刷新和模态对话框 学习总结 推荐哦

    - **应用场景**: 当用户在一个新窗口操作后需要返回主窗口时,可以通过这种方式刷新主窗口。 ##### 3. 刷新某一个`iframe` - **语法**: `iframeName.location.reload();` 或者 `iframeId.location.reload();` - **...

    window.dialogArguments 使用说明

    - `window.dialogArguments` 是IE浏览器特有的,不被其他现代浏览器如Firefox、Chrome、Safari或Edge支持。因此,在跨浏览器开发时,需要有替代方案,例如使用`localStorage`、`sessionStorage`、`postMessage` API...

    javascript网页对话框.docx

    - `returnValue`:返回值,对话框关闭后返回给调用者的信息。 - `arguments`:可选参数,向对话框传递的变量,可以是任何类型。 - `features`:可选参数,定义对话框的样式,如大小、位置等。 2. `...

    javascript网页对话框.pdf

    需要注意的是,`showModalDialog`和`showModelessDialog`在现代浏览器中的支持情况可能不一致,特别是跨浏览器兼容性问题,开发者应谨慎使用并考虑使用其他替代技术,如Bootstrap模态框或自定义实现。 总的来说,...

    JS 弹出模式窗口 和 非模式窗口

    JavaScript中的弹出窗口是网页交互的一种常见方式,主要包括模式窗口(Modal Dialog)和非模式窗口(Modeless Dialog)。这两种窗口的主要区别在于它们如何与用户交互以及如何与其他窗口共存。 **模式窗口** 是一种...

    JavaScript 实现模态对话框 源代码大全

    早期的Mozilla Suite(Firefox的前身)支持该方法,但后来因为安全问题取消了支持。因此,在Firefox中,需要使用`window.open()`方法来实现类似模态对话框的功能。 `window.open()`方法用于打开一个新窗口,并且...

    浅谈JavaScript窗体Window.ShowModalDialog使用

    然而,需要注意的是,由于这些方法是IE特有的,它们在其他浏览器(如Firefox、Chrome、Safari、Opera等)中可能不被支持或行为不一致。因此,在现代Web开发中,开发者通常会使用CSS和JavaScript库(如jQuery UI、...

    showModalDialog()、showModelessDialog()方法的使用.

    总之,`showModalDialog()`和`showModelessDialog()`是两种创建对话框的方式,前者强制用户处理对话框后再返回主窗口,后者则允许用户同时与对话框和主窗口交互。在实际应用中,开发者应根据需求选择合适的方法。...

    ShowModalDialog父窗体向子窗体传值

    在JavaScript中,`showModalDialog`是一个用于打开模态对话框的方法,主要应用于IE浏览器,从版本4开始支持。模态对话框意味着用户必须关闭该...在实际应用中,根据需求选择合适的模式,并注意处理好窗口间的交互问题。

    JS模式窗口

    - `dialogArguments`:向对话框传递的变量。 - `returnValue`:用于获取对话框返回的值。 **应用场景** JS模式窗口常用于以下场景: 1. 用户输入验证:当需要用户输入额外信息时,例如在注册或登录过程中。 2. ...

    window.showModalDialog('d.html',fault,'');

    - `dialogArguments`: 可选,对话框接收的变量,可以是任何JavaScript值,它会被传递给对话框的`window.dialogArguments`属性。 - `options`: 可选,对话框的样式和行为,可以包括宽度、高度、位置等,也可以包含`...

Global site tag (gtag.js) - Google Analytics