javascript - 谷歌浏览器下JS无法关闭JSP

 留恋的花纹 发布于 2022-11-15 12:53

问题:谷歌浏览器无法使用JS关闭当前页
场景:A.jsp表单提交成功后跳转至B.jsp,在B页面点击按钮触发JS关闭当前页面,在IE测试可以关闭,谷歌无法实现.
代码:
html代码:




JS代码:

    function closePage(){
        console.log("进入js");
            if(navigator.userAgent.indexOf("MSIE") > 0){
                console.log("MSIE");
                if(navigator.userAgent.indexOf("MSIE 6.0") > 0){
                    console.log("MSIE 6.0");
                 window.opener = null;
                 window.close();
                }else{
                    console.log("MSIE 6.0 else");
                 window.open('', '_top');
                 window.top.close();
                }
             }
             else if(navigator.userAgent.indexOf("Firefox") > 0){
                 console.log("Firefox");
                window.location.href = 'about:blank ';
             }else{
                 console.log("谷歌");
                window.opener = null;
                window.open('','_self','');
                window.close();
             }
    }
    
    百度搜索出的结果基本都是用此方法,在两台电脑上(XP系统)的谷歌都无法关闭,请教各位该如何改进?谢谢
     

我在主楼里代码没有问题,导致无法关闭网页的原因是我并没有模拟真实业务,业务场景是从网页A中打开网页B,而我在开发过程中是直接在浏览器中输入网页B的地址测试,所以无效,后来在真实环境中测试是可以关闭的,需要注意的是在网页A中打开网页B时,打开方式应该设置成_blank

谢谢@donghanji的热心回答

2 个回答
  • 我在主楼里代码没有问题,导致无法关闭网页的原因是我并没有模拟真实业务,业务场景是从网页A中打开网页B,而我在开发过程中是直接在浏览器中输入网页B的地址测试,所以无效,后来在真实环境中测试是可以关闭的,需要注意的是在网页A中打开网页B时,打开方式应该设置成_blank

    谢谢@donghanji的热心回答

    2022-11-15 15:41 回答
  • XP?试都没法试了,我已经不处理XP好多年!

    在win7和mac上的Chrome试是可以关闭的(我是直接控制台测试的)。

    可以试试这个(搞错了这个是针对IE的,汗!):

    setTimeout(window.close,1)

    参考来源:
    https://support.microsoft.com/zh-cn/kb/884768

    还有,搞前端的得想办法主动让用户升级下浏览器,而不是一直那么迁就用户,不然何时是个头。

    2022-11-15 15:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有