zoukankan      html  css  js  c++  java
  • javascrpt 代码

    一、window.open关闭子页面时刷新父页面

    window.opener.location.reload();

    window.opener=null;window.close();

    二、AJAX返回后window.open不被阻挡

    1.可以把异步变同步async: false

    2.异步下处理方法

    var newwindow=window.open("about:blank");  
    window.focus();  
    $.ajax({  
        url:form.attr('action'),  
        data:form.serialize(),  
        dataType: 'json',  
    }).done(function(o){  
        if(o.success){  
            if(o.data){  
                newwindow.location.href="http://www.zgxrw.com";  
                newwindow.focus();  
            }else{  
                newwindow.close();  
            }  
        }else{  
            newwindow.close();  
        }  
    }).fail(function(){newwindow.close();});  
    

      

      但是这种方法带来一个问题,就是当失败后,会先打开一个窗口,然后再关闭,虽然一闪而过,但是对用户总是一个困扰,相对来说还不如将ajax改成同步,毕竟现在的互联网的访问速度,不至于会将浏览器锁住太长时间。

     或者

    方法1:
    <input type="button" class="preview" value="预览"/>
    $('.preview').live('click', function(){
      var w = window.open();//发请求之前打开一个空页面
      $.ajax({..., success:function(msg){
        setTimeout(function(){w.location='http://www.baidu.com';}, 0);//0秒后给新窗口的localtion赋值
      }});
    });
    方法2:
    <input type="button" value="预览" onclick="if(preview()){window.open('http://www.baidu.com');}"/>
    function preview(){
      var bol = false;
      $.ajax({async:false,...,success:function(msg){
        if (msg == 1) {
          bol = true;
        } else {
          bol = false;
        }
      }});
      return bol;
    }

  • 相关阅读:
    正则表达式常用公式
    造轮子之--Redis
    SqlServer 查询计划分析
    实现poster,json,base64等编码转码工具
    win nginx + php bat启动/停止脚本
    php设计模式——单例模式
    [php]php设计模式 (总结)
    升级openssl 操作记录
    PHP URL安全的Base64位编码
    php curl使用 常用操作
  • 原文地址:https://www.cnblogs.com/terrylin/p/3186092.html
Copyright © 2011-2022 走看看