zoukankan      html  css  js  c++  java
  • ajax打开新窗口防止被浏览器阻止问题

    1 打开新窗口,window.open(),这本身并不会被浏览器阻止,但是放在ajax方法中,弹出新窗口就被阻止了,如下:

      function mfopen(id, name) {
            jQuery.ajax({
                type: "GET",
                dataType: "text",
                url: "UserLogin.aspx?method=init",
                success: function (msg) {
                    var Json = eval("(" + msg + ")");
                    if (Json.result == "100") {
                        if ( Json.isagtuser != "0") {  
                            jErpPopup("没有资格", 'no.aspx', 415, 90, function () { });
                        }
                        else {
                            var cid = id;
                            var cname = name;
                            var url = 'chuli.aspx?id=' + cid + '&name=' + escape(cname)  + '&num=Math.Random()' + '';
                            window.open(url);
                        }
                    }
                    else {
                        jErpPopup("您还没有登录,请先登录", 'Login.aspx?fun=pingjiaagent2', 410, 180, function () { });
                    }
                }
            });
            }
           
      

    2,ajax默认异步,修改为同步执行,可以解决弹出新窗口被浏览器阻止的问题,如下:

     function mfopen(id, name) {
            jQuery.ajax({
                type: "GET",
                async:false,
                dataType: "text",
                url: "UserLogin.aspx?method=init",
                success: function (msg) {
                    var Json = eval("(" + msg + ")");
                    if (Json.result == "100") {
                        if ( Json.isagtuser != "0") {  
                            jErpPopup("没有资格", 'no.aspx', 415, 90, function () { });
                        }
                        else {
                            var cid = id;
                            var cname = name;
                            var url = 'chuli.aspx?id=' + cid + '&name=' + escape(cname)  + '&num=Math.Random()' + '';
                            window.open(url);
                        }
                    }
                    else {
                        jErpPopup("您还没有登录,请先登录", 'Login.aspx?fun=pingjiaagent2', 410, 180, function () { });
                    }
                }
            });
            }
    
  • 相关阅读:
    怎么做接口测试,概念及常用方法一
    Maven 常用命令
    终端/Shell 快捷键
    Linux/Unix split 大文件分割合并
    macOS 跳过非 AppStore 下载的软件打开时的验证步骤
    docker[-compose] 连接内网其他容器地址
    iOS现有工程 集成 Cordova/Ionic
    Retrofit2 上传图片等文件
    ButterKnife 绑定 RadioGroup
    使用 Sublime Text 3 开发 React
  • 原文地址:https://www.cnblogs.com/judy0605/p/3003590.html
Copyright © 2011-2022 走看看