模态窗口刷新父窗口在IE7下的问题
父窗口代码:<a href="javascript:void(0)" onclick='window.showModalDialog ("Login.aspx",window,"dialogWidth=400px;dialogHeight=220px;status=no;stroll=no;center=yes;help=no;resizable=no;edge=sunken")'>登录</a>
子窗口HTML代码:
<html xmlns="http://www.w3.org/1999/xhtml" >
<base target="_self">
<head runat="server">
...
</head>
<body onunload="window.dialogArguments.location.reload()">
</body>
</html>
子窗口登录按钮代码
...
Response.Write("<script>");
Response.Write("window.opener=null;");
Response.Write("window.open('','_self');");
Response.Write("window.close();");
Response.Write("</script>");
这些代码在ie6和firefox下没有问题,但是在ie7下,关闭子窗口后,父窗口死活不刷新,测试几十次能有一两次刷新成功的。很奇怪。请问有什么解决方案吗? --------------------编程问答-------------------- 是不是弹出一个置前登录窗口 ? --------------------编程问答-------------------- 回楼上,是的 --------------------编程问答-------------------- 关于兼容性的问题很多都搞不清楚,帮顶! --------------------编程问答-------------------- 用层吧..比模式窗体更好. --------------------编程问答-------------------- 貌似用body的onfocus事件可以的吧 --------------------编程问答-------------------- 试试: 在子窗口关闭之前返回一个returnValue 值,子窗口根据父窗口返回值决定是否刷新
父窗体:
var rValue=window.showModalDialog(...... ;
if(rValue=="1")
{
//todo: 刷新窗体
}
子窗体:
function fclose()
{
window.returnValue="1";//父窗体刷新
window.close();
} --------------------编程问答-------------------- window.focus() --------------------编程问答-------------------- 请问楼主解决了问题没有?
我也碰到了
请教一下 --------------------编程问答--------------------
这样应该可以的
或者在父页面放置一个隐藏按钮,当子窗口返回值满足父页面按钮触发条件时,触发服务器事件(用javascript去触发),这样的功能在ajax中效果更好 --------------------编程问答-------------------- 根据子窗口returnValue判断是否提交后台,不久可以控制是否刷新了吗?
有这么复杂吗 --------------------编程问答-------------------- IE7下刷新父窗口没有问题的,我刚完成一个项目,里面弹出窗都是模态的,在IE6、IE7、FF下都没问题,楼主检查下肯定是哪里出了问题
补充:.NET技术 , ASP.NET