在我的一个项目中,需要整个站点没有菜单栏,工具栏,地址栏,滚动条等,所以只能使用在一个页面中打开另外一个页面的方法,因为 window.open 可以设置参数来控制子窗体的 菜单栏,工具栏,地址栏,滚动条等。然后还得把父窗体给关了。但是 window.close() ,会有提示框,很烦。

期间在网上找到过一些方法,比如
window.opener = null; window.close();
但是这招在IE6以下版本有效,在IE7下无效.

又如
function window.onbeforeunload()
{
event.returnValue = "the page will be closed, comfirm to close?";
}
这招也不行

有人说客户打开的主窗体,如果后台关闭,是一种不礼貌的行为  所以,ie7不管怎么样,主窗体都会有提示,差点死心了~~

最后试试 WebBrowser.ExecWB(45,1) ,竟然没有提示,说明在IE7上照样可以图提示关闭窗口。
具体方法如下:
<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>
<input type="button" name="Button" value="关闭窗口" onClick="document.all.WebBrowser.ExecWB(45,1)">

如果想在打开子窗体后自动关闭父窗体的话,只要都放到onload事件里面。


看来 WebBrowser.ExecWB(45,1)还是挺管用的,我们来看看改变参数会如何:
WebBrowser.ExecWB(1,1) 打开
WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口, 并打开一个新窗口
WebBrowser.ExecWB(4,1) 保存网页
WebBrowser.ExecWB(6,1) 打印
WebBrowser.ExecWB(7,1) 打印预览
WebBrowser.ExecWB(8,1) 打印页面设置
WebBrowser.ExecWB(10,1) 查看页面属性
WebBrowser.ExecWB(15,1) 好像是撤销, 有待确认
WebBrowser.ExecWB(17,1) 全选
WebBrowser.ExecWB(22,1) 刷新
WebBrowser.ExecWB(45,1) 关闭窗体无提示