关闭窗口无提示的总结
在网页中有时需要最后自动关闭浏览器窗口,例如: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>