Chrome不支持showModalDialog模态对话框和无法返回returnValue的问题

父窗体部分js代码:

1 var returnValue = window.showModalDialog("son.html ", window);
2 //for chrome
3 if (returnValue == undefined) {
4     returnValue = window.returnValue;
5 }

子窗体部分js代码:

if (window.opener != undefined) {
       //for chrome
       window.opener.returnValue = "opener returnValue";
}
else {
       window.returnValue = "window returnValue";
}
window.close();

这样也在IE,FireFox,Chrome,Safari等浏览器下都可以通用了。

时间: 2024-11-03 21:18:09

Chrome不支持showModalDialog模态对话框和无法返回returnValue的问题的相关文章

谷歌浏览器Chrome不再支持showModalDialog的解决办法

问题重现 弹出窗口编码: JavaScript 0 1 2 3 4 5 6 7 var obj = new Object(); var retval = window.showModalDialog("request.aspx",obj,"dialogWidth=500px;dialogHeight=300px"); if (retval == null) { ... }else { ... } 浏览器异常: Shell 0 1 Uncaught TypeError

showModalDialog模态对话框的使用

基本介绍:         showModalDialog() (IE 4+ 支持)         showModelessDialog() (IE 5+ 支持)         window.showModalDialog() 方法用来创建一个显示HTML内容的模态对话框         window.showModelessDialog() 方法用来创建一个显示HTML内容的非模态对话框使用方法:         vReturnValue = window.showModalDialog(

新版本火狐 ,Chrome不支持showModalDialog解决办法

平常的网站中,有时我们会希望使用者按下按钮后开启一个保持在原窗口前方的子窗口,在IE中,我们可以使用showModalDialog来达成,但是chrome早就不支持showModalDialog,最近我的火狐也不支持了,所以就去网上找了下解决办法,与大家共享: 原来代码是这样: function showDialog(url, w, h){ showModalDialog(url, self, 'dialogWidth='+w+'px;dialogHeight='+h+'px');} 然后为了兼

谷歌浏览器不支持showModalDialog解决方法

忽然发现Chrome浏览器版本 37.0.2062.103 m 不支持showModalDialog模态对话框和无法返回returnValue 项目原先用到的都不能正常执行 找了个折中方案利用window.open代替showModalDialog利用 window.opener.document来操作父页面的元素 window.open("xsp/exesp?todo=13","","height=500,width=280,status=yes,too

模态对话框与非模态对话框

①.区别 模态对话框:创建后,程序的其他窗口便不能进行操作,必须将该窗口关闭后,其他窗口才能进行操作.------父线程阻塞,子线程运行 非模态对话框:无需像模态对话框那样,它不强制要求用户立即反应,而是与其他窗口同时接受用户操作.-----父子线程同时运行 ②.添加资源与类绑定 资源窗口添加Dlg资源,Dlg窗口右键Add Class 绑定类.选择继承类 CDialog. ②.对话框创建与显示 模态对话框:CDialog::DoModal CMyDialog dlg;//继承CDialog类的

VC++模态对话框和非模态对话框

MFC中有两种类型的对话框:模态对话框和非模态对话框. 模态对话框是指当其显示时,程序会暂停执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务.非模态对话框是指当其显示时,允许转而执行程序中其他任务,而不用关闭这个对话框. 模态对话框的创建:创建模态对话框需要调用CDialog类的成员函数:DoModal,该函数的功能是创建并显示一个模态对话框,其返回值将作为CDialog类的另一个成员函数:EndDialog的参数,后者的功能是关闭模态对话框.一般显示模态对话框的实现代码如下: voi

bootstrap添加多个模态对话框支持

bootstrap添加多个模态对话框支持 (2015-03-04 21:05:35) 转载▼ 标签: 房产   因为项目需要,在页面交互上要弹出多个dialog窗口,而bootstrap的modal支持弹出dialog窗口,但是如果在此基础上,会出现遮罩层越来越多,背景越来越黑的情况. 代码具体如下: (function(){ modal = {}; modal.openDialog = function(url, title, width, height, id){}; modal.close

关于chrome等浏览器不支持showModalDialog的解决方案

目前,新版本的chrome和opera.Firefox等浏览器已经不支持showModalDialog方法. 如果是没有接收返回值的,可以直接将window.showModalDialog改为window.open. 需要接收返回值的情况: 父页面设置: var uIdName; function chooseuser_m() { var num = Math.random(); var str = "" + document.getElementById('wfUserIDs').v

【精品推荐】web开发人员应该知道的31个jQuery模态对话框

在网站开发中经常会用到模态窗口,如果直接利用javascirpt的window.showModalDialog()打开一个模式窗口,虽然实现了模式窗口的功能,但十分的不好看.当我们遇到这样的需求时很多人会从网上寻找这些jQuery的模态对话框,有时候搜索了很多,但都不是很合适,那为什么人们喜欢模态窗口呢?那模态窗口到底有什么优点呢? 当一个模态窗口包含一个较小的元素时,用户并不需要加载一个完成的全新新页面就可以访问它.(达到同样效果的另一种方式来是使用基于AJAX的标签) . 通过模态窗口,您提