/*Bluedestiny(蓝色命运)*/
关于关闭窗口不弹出对话框的问题,看到CSDN上初学者经常问到这个问题,于是我自己用到过的经验总结了一下,看看是不是对各位有用的东东:(以下代码,并没有考虑到兼容性的问题,以后我会修改代码,请关注此blog)
我们知道,如果一个窗口为子窗口,用window.close()可以关闭,且没有对话框,如果一个窗口为父窗口,用window.close()的话,关闭窗口会出现对话框,下面综合了一些常用的关闭父窗口无对话框的方法,请大家指教。
情况一:在本页面内关闭,
1.可以用这个函数(opener属性我就不再多说了)
function Closeit()
{
window.opener = null;
window.close;
}
<a href=“#“ onclick=“Closeit()“>关闭窗口</a>
但这是在IE5.5以上版本才会没有对话框,如果版本在IE5.5以下的话,一样会出现对话框。
2.于是可以用<object>来关闭,但用<object>需要注意一点,关闭的这个<object>是outlook的一个控件,如果客户端没有装outlook的话,那就不能用了。同时,一些防火墙也会影响<object>的使用。
<OBJECT id=myClose classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM NAME="Command" value="Close"></OBJECT>
<a href=“#“ onclick=“myClose.Click()“>关闭窗口</a>
二、在IE5.0中,如果我们有三个页面,第一个为登陆界面,第二个为验证页面,第三为目标页面,那问题就有了,登陆界面不为全屏,验证后我要求目标页面为全屏,那我就得在验证页面加上window.open方法,那我如何在参数传递至目标页面后,把验证页面给关掉而不弹出窗口呢?(最后只剩一个目标页面)
1.如果用opener方法是肯定行不能的,因为是IE5.0
2.那就可以用<object>即
Response.Write"<Script language='javascript'>document.write('<OBJECT id=hh3 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11><PARAM NAME=Command value=Close></OBJECT>');hh3.Click()</script>"
Response.Write"<script language='javascript'>var woiwo=window.open('index.asp','woiwo','resizable=yes,scrollbars=no,toolbar=no,menubar=no,fullscreen=no');woiwo.moveTo(0,0);woiwo.resizeTo(screen.availWidth,screen.availHeight);woiwo.outerWidth=screen.availWidth;woiwo.outerHeight=screen.availHeight;</script>"
必须先用<object>关闭,再用window.open()的方法。否则还是两个页面的。
发表于 @ 2004年08月10日 17:28:00|评论(loading...)|编辑