您的位置:首页 > Web前端 > JavaScript

JS关闭窗口兼容Firefox、Chrome、IE(二次总结后)

2012-12-23 21:30 691 查看
要想使Chrome,IE,Firefox点击一个按钮调用js方法都自动关闭窗口,应该写成如下的。

function windowclose() {

    var browserName = navigator.appName;

    if (browserName=="Netscape") {

        window.open('', '_self', '');

        window.close();

    }

    else {

        if (browserName == "Microsoft Internet Explorer"){

            window.opener = "whocares";

            window.opener = null;

            window.open('', '_top');

            window.close();

        }

    }

}

<input type=button value="关闭" onclick="windowclose()">

注意:在Firefox中比较特别,如果想上面的代码管用,还要做一定的工作:

如果你使用的是firefox浏览器必须要做以下设置

1、在地址栏输入about:config然后回车,警告确认

2、在过滤器中输入”dom.allow_scripts_to_close_windows“,双击即可将此值设为true

即可完成了

另下面是一些以前发的一些文章,但现在已经不能用了,但部分的东西,还是值得想深入的朋友参考的。

试试下面代码:

<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)">

试着改变参数会得到其他一些功能:

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) 关闭窗体无提示

这些只对IE5.5以上版本有效,我是在IE6下测试的,通过的。

在不是js打开的页面上按window.close(),会有提示框,很烦,现在可以不用了,没有提示框直接关闭窗口。

以前有人贴过利用IE5.5/6.0漏洞做的无提示窗口,

<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)">

但后来ie6.0出了补丁,便失效了

现在有一种很简单的无提示关闭窗口代码如下 :

<input type="button" onClick="window.opener='dxy';window.close();" value="IE6最简单的无提示关闭窗口" >

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: