关闭窗口无提示的总结

meihuake 2004-09-10 09:32:40
在网页中有时需要最后自动关闭浏览器窗口,例如:window.close();但是会弹出一个询问的窗口,当然IE6是弹不出来得,像IE5.5,IE5.01,IE5或者更低的版本都会的,程序实现的不流畅,不爽。

有没有办法呢?回答是肯定的,但是Win2000+IE5+SP4 ,就是到现在也实现不了。

以下是这几天的心得,本着取之于网,服务于网的原则,现将代码展出:

<html>
<head>
<title>你的浏览器版本</title>
</head>
<body onload="checkUA();">
<OBJECT id=Closeie5 type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"><param name="Command" value="Close"></object>

<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT>
<SCRIPT LANGUAGE="JavaScript">

function checkUA() {
var UAversion = parseFloat(navigator.appVersion);
var UA = (navigator.appName);
var IEua = (UA == "Microsoft Internet Explorer");
var Netscapeua = (UA == "Netscape");
var UAok = false;
var isIE = false;
var author = 'Jason Withrow';
var newMsg = '';
var isNS = false;
var other = false;
var curIEbuild = parseFloat("5.5");
var curNSbuild = parseFloat("4.74");

if (IEua && UAversion >= 4) {
(UAok = true);
(isIE = true);
}
else if (Netscapeua && UAversion >= 4.08) { (UAok = true);
(isNS = true);
}

if (IEua) {
if (navigator.appVersion.indexOf("MSIE") != -1) {
IEmajorStart = navigator.appVersion.indexOf("MSIE") + 4;
IEmajorEnd = (IEmajorStart + 5);
theMajor = navigator.appVersion.substring(IEmajorStart, IEmajorEnd);
(UAversion = theMajor);
}
if (isNaN(UAversion)) {
(UAversion = (UAversion.substring(0, (UAversion.length - 1))));
}

}

if (IEua & UAversion < curIEbuild)
{
alert(UAversion);//IE5.5以下的版本
Closeie5.Click();
}
else
{
alert(UAversion);//IE5.5、IE6.0 版本
try{WebBrowser.ExecWB(45,1);//有安全限制}
catch(e){window.opener=null;window.close(); }
}

if(Netscapeua)
{
window.close();//尚未尝试
}

}
-->
</script>


</body>
</html>


...全文
389 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dout 2005-01-20
  • 打赏
  • 举报
回复
学习
nik_Amis 2005-01-20
  • 打赏
  • 举报
回复
up
ankyliu 2005-01-20
  • 打赏
  • 举报
回复
IE5.0的都会提示:只有在帮助下才能使用该功能!
rosen 2004-10-10
  • 打赏
  • 举报
回复
window.opener=null;window.close();

就OK了
caojinrong 2004-09-15
  • 打赏
  • 举报
回复
受教了。
flyskytoday 2004-09-10
  • 打赏
  • 举报
回复
出错原因:

else
{
alert(UAversion);//IE5.5、IE6.0 版本
try{WebBrowser.ExecWB(45,1);//有安全限制} //*此处的大括号

----->

else
{
alert(UAversion);//IE5.5、IE6.0 版本
try{WebBrowser.ExecWB(45,1);//有安全限制
}
wauo 2004-09-10
  • 打赏
  • 举报
回复
楼主这段代码我运行怎么报错??
xu770 2004-09-10
  • 打赏
  • 举报
回复
<input type="button" onClick="window.opener = 'xxx';window.close();" value="IE6最简单的无提示关闭窗口" >
meihuake 2004-09-10
  • 打赏
  • 举报
回复
window.opener = null;

用window.open()打开的窗口就无提示拉
robinzsy 2004-09-10
  • 打赏
  • 举报
回复
学习学习
ps:在IE6中,如果用window.close()关闭当前页面,也会弹出询问窗口。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧