zoukankan      html  css  js  c++  java
  • 最完美解决方案:js弹出窗口关闭当前页面,而不弹出提示框

    该功能主要用于业务系统中的登录操作,登录后弹出全屏的业务系统主界面,而不需要工具栏、地址栏、菜单等功能。

    之前针对不同浏览器找了无数种方法,包括网上能查到的所有方法,弹出的结果都不理想。结果有的IE6,7,8支持但是IE11不支持,有些火狐支持,chrome不支持。

    最后找了很久才找到这个方法:经过测试IE6、IE7、IE8、IE11,Chrome都很理想。唯一360浏览器弹出了新窗口后还是会新建一个空白窗口,太奇葩了。

    代码如下:

    var strStyle = 'height='+screen.availHeight+',width='+screen.availWidth+',left=0,top=0, toolbar=no, menubar=no, scrollbars=yes, resizable=yes,location=no, status=no';
            try {
                 opener = window.open('login.jsp', 'login',strStyle); 
    opener.focus();
    window.open(
    '', '_self');
    }
    catch (ex) {
    alert(
    "你的浏览器弹出页面错误,错误信息:"+ex.message +"");
    }
    finally{
    parent.window.close(); //这里很关键
    }

    下面是以前的代码,有些浏览器不好使,不想再改了。

    //关闭当前页面,并且打开新页面,(不提示)
    
    function closeWinAndOpen(url) {
    
        var sWinName = "LR"+parseInt(Math.random() * 100000000);//利用随机数处理WinName
    
        window.open(url,sWinName, 'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=yes,copyhistory=yes');
    
        closeWin();
    
    }
    
    //关闭当前页面
    
    function closeWin() {
    
        window.opener=null;
    
        window.open('','_self');
    
        window.close();
    
    }
    
    关闭父页面:
    
    Response.Write("<script>window.top.opener=null;window.parent.close();</script>")
    
    (window.top.close() 也好使)
    
    设置window.opener=null 可以不显示:"您查看的网页正在试图关闭窗口,是否关闭窗口"
  • 相关阅读:
    Server2012R2 ADFS3.0 The same client browser session has made '6' requests in the last '13'seconds
    pig的grunt中shell命令不稳定,能不用尽量不用
    pig脚本的参数传入,多个参数传入
    pig的cogroup详解
    pig的limit无效(返回所有记录)sample有效
    Dynamics CRM2013 任务列表添加自定义按钮
    简述浏览器渲染机制
    如何区分浏览器类型
    使用mock.js生成前端测试数据
    理解Ajax
  • 原文地址:https://www.cnblogs.com/coolsundy/p/4825292.html
Copyright © 2011-2022 走看看