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;
    }

  • 相关阅读:
    2653 区间xor
    c++位运算
    洛谷P1233 木棍加工
    c++背包问题
    FOC基本调试方法[转]
    用于下载AD官网登录账号:User name: fuxin918@fuxin918.com Passeword: s6c0W1w8
    STC10F10XE定时器中断输出10KHz的方波程序
    学习DSP(三)安装C2833x/C2823x C/C++ 头文件和外设示例-压缩包
    学DSP(二):目标芯片28335,GO!
    学DSP(一):开始
  • 原文地址:https://www.cnblogs.com/terrylin/p/3186092.html
Copyright © 2011-2022 走看看