window.open、window.showModalDialog和window.showModelessDialog 的区别
http://dwcmayday201204063551.iteye.com/blog/1621751
showModelessDialog改造兼容firefox和ie
http://blog.linuxphp.org/archives/1454/
showModalDialog)的支持有缺陷
http://www.w3help.org/zh-cn/causes/BX9036
http://blog.csdn.net/tegwy/article/details/5755311
window.showModalDialog使用总结
关于window.showModalDialog的一些配置,网上一大堆,总结下自己在使用中的一些经验吧!
一、window.showModalDialog的滚动条
其实纵向滚动条很好去掉,难办的就是横向滚动条。在Firefox下如果window.showModalDialog宽度设置恰当是不显示横向滚动条的,但在IE下,既然你设置了scroll:0或者如其他人所说的在目标页面中增加overflow:scroll;overflow-x:hidden样式都是没有效果的。对于一些追求完美的开发人员来说,这的确是个头大的事,其实,有个很简单的方法,能很方便的去除横向滚动条的,只需要在目标页面的body上设置宽度并且只要比window.showModalDialog的宽度要小就不会出现滚动,代码如下:
[css] view plaincopy
body {
margin:0;
padding:0;
width:910px;
}
嘿嘿,既方便又好使
二、关于在IE下window.showModalDialog中的链接新窗口打开的问题
把如下代码加到目标页面的中即可
[xhtml] view plaincopy
三、window.showModalDialog缓存问题
对于IE下的window.showModalDialog的缓存那是相当的强劲,有时既然你把服务重启、浏览器重启啥的都不好使,而且又不方便。有时需要window.showModalDialog里面的内容时常更新,其实有个小技巧,只要加个变化的参数,使其每次请求的url参数不一样,那么就不会有缓存的问题了。代码如下:
[javascript] view plaincopy
function generateExaminationPaper(uuid) {
window.showModalDialog("GenerateExaminationPaper.do?uuid=" + uuid + "&t=" + new Date().getTime(), window, "dialogWidth:930px;dialogHeight:700px");
}
最后面的参数 t 是最主要的,因为每次请求时这个new Date().getTime()的值都会不一样,这样请求的URL就会不一样,自然就会避免缓存带来的困扰
showModalDialog 父窗口
------------------------------------------
http://fengpy2009.iteye.com/blog/808646
showModalDialog取得父窗口
通常使用window.open的方式开启新窗口的话
要取得父窗口的控件,可以用window.opener来取得父窗口
然而如果使用showModalDialog的话...却无效
如果有需要的话,需要修改开启的语法以及showModalDialog中的语法
开启语法第2个参数请下self,范例如下
var rc=window.showModalDialog(strURL,self,sFeatures);
然后接着就是呼叫父窗口的语法
var pWindow=window.dialogArguments;
这样就可以取得父窗口的window对象控制了。例如:
window.dialogArguments.document.getElementsByName("processId")[0].value;
------------------------------------------
父窗口代码:window.showModalDialog(''login.jsp'', window);//这个window作为参数传递到子窗口,当登录成功后可通过这个对象刷新父窗口
子窗口代码:
window.dialogArguments.document.location.reload();//刷新父窗口
window.close(); //关闭自己
还有一个关键代码:
如果不加这段代码,在登录返回之后会打开一个新窗口
------------------------------------------
http://www.owe-love.com/myspace/?action=show&id=179
showModalDialog取得父窗口的方法、Parent对象
通常使用window.open的方式开启新窗口的话
要取得父窗口的控件,可以用window.opener来取得父窗口
然而如果使用showModalDialog的话...却无效
如果有需要的话,需要修改开启的语法以及showModalDialog中的语法
开启语法第2个参数请下self,范例如下
var rc=window.showModalDialog(strURL,self,sFeatures);
然后接着就是呼叫父窗口的语法
var pWindow=window.dialogArguments;
这样就可以取得父窗口的window对象控制了。例如:
window.dialogArguments.document.getElementsByName("processId")[0].value;
js中 opener和parent的区别
opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的opener,在B页面通过opener对象可以访问A页面。
parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的parent。
在JS中,window.opener只是对弹出窗口的母窗口的一个引用。
------------------------------------------
showModalDialog 刷新父窗口问题
http://zhidao.baidu.com/question/139960770.html
a。aspx 有iframe 指向 b。aspx 页面
b.aspx 页面调用了showModalDialog 调用代码如下
");现在出现问题 不管是点添加按钮 还是 关闭按钮 父窗口会多出一个上下滚动条