代码源自网络,并自己整理吸收,调试通过
IE可以用showModalDialog方法打开模态窗口。
FF为了安全,执行方法window.open('openwin.html','newWin','modal=yes,width=200,height=200,resizable=no,scrollbars=no');
指定了modal=yes,打开的也不是模态窗口,是普通窗口
在IE下是模态,在FF下不是,作了最大的努力来实现通用,外观到是还可以。
打开对话框的方法如下:
function openModal()
{
popupDialog('child.html',200,200);
}
function showMsg(obj)
{
alert(obj);
}
function popupDialog(url,width,height)
{
var x = parseInt(screen.width / 2.0) - (width / 2.0);
var y = parseInt(screen.height / 2.0) - (height / 2.0);
var isMSIE= (navigator.appName == "Microsoft Internet Explorer"); //判断浏览器
if (isMSIE)
{
retval = window.showModalDialog(url, window, "dialogWidth:"+width+"px; dialogHeight:"+height+"px; dialogLeft:"+x+"px; dialogTop:"+y+"px; status:no; directories:yes;scrollbars:no;Resizable=no; " );
}
else
{
var win = window.open(url, "mcePopup", "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,modal=yes,width=" + width + ",height=" + height + ",resizable=no" );
eval('try { win.resizeTo(width, height); } catch(e) { }');
win.focus();
}
}
在被打开的对话框里,代码:
function doReload()
{
var isMSIE= (navigator.appName == "Microsoft Internet Explorer");
if (isMSIE)
{
//IE
//parent.dialogArguments.location.reload();
parent.dialogArguments.showMsg("345");
}
else
{
//FF
//parent.opener.document.location.reload();
window.opener.showMsg("345");
}
//关闭窗口用的是 top.close(); 这个IE、FireFox都支持。
//top.close();
window.close();
}
两种浏览器的打开对话框的方式不一样
IE:window.showModalDialog(url, window, "dialogWidth:300px; dialogHeight:300px; dialogLeft:200px; dialogTop:200px; status:no; directories:yes;scrollbars:no;Resizable=no; " );
FireFox: window.open(url, "mcePopup", "top=200,left=200,scrollbars=no,dialog=yes,modal=yes,width=300,height=300,resizable=no" );
关闭窗口时:
window.close(); top.close(); 这个IE、FireFox都支持。
分享到:
相关推荐
Jquery实现模态窗口效果;
自己制作的DIV模态窗口,点击弹出DIV窗口,后层页面屏蔽,实现模态窗口。需要用vs2010打开
一个使用div来实现的模态窗口实例!打破windows的传统模态窗口!
C++非模态窗口实现 VC非模态窗口实现 MFC非模态窗口实现
java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态窗口java多级模态...
div css 窗口 模态窗口 JavaScript css
html 模态窗口使用 html 模态窗口使用
这是Visual Studio的MFC项目,展示了模态窗口、非模态窗口的使用。弹出模态窗口就会阻塞父窗口,并且展示了C++读取鼠标位置的方法。非模态窗口则不会阻塞父窗口。 主窗口展示了树控件的使用方法。
模态窗口的实现模态窗口的实现模态窗口的实现模态窗口的实现模态窗口的实现模态窗口的实现模态窗口的实现
js实现图表及模态窗口
介绍showModalDialog和showModelessDialog实现模态窗口的使用心得
基于VS2015编译的MFC模态窗口与非模态窗口兼容窗口类,解决默认窗口类框架在非模态模式下没有真正释放类资源的问题,同时兼容模态窗口模式。 VS版本低于2015时,可以参考窗口类框架。 博文参考...
easyui 模态窗口组件 模态窗口,局部模态组件,兼容各浏览器
JQuery实现可移动模态窗口 JQuery实现可移动模态窗口 JQuery实现可移动模态窗口
模态窗口demo and 模态窗口说明
分页后弹出模态窗口刷新父窗口 分页后弹出模态窗口刷新父窗口 分页后弹出模态窗口刷新父窗口
jquery 模态窗口
Java 桌面程序,用继承JDialog的方法,在JDialog中自定义布局,实现模态窗口,可扩展为复杂的窗口,类似添加、编辑数据窗口等
ie+FF通用的父子模态对话框相互传值,已经自己验证过的,保证没有问题