JavaScript&jquery判断下载地址是否可用,同时判断浏览器是否禁用弹窗

function IsExist(url,method) 
{ 
    $.ajax({
      url: url,
      type: 'GET',
      complete: function(response) {
       if(response.status == 200) {
        method(true);
       } else {
        method(false);
       }
      }
     }); 
} 

function windowopen(url){
    IsExist(url,function(check){
        
        if(check){
                    var blocked = false;
                    try {
                        var wroxWin = window.open(url, "_self");
                        if (wroxWin == null) {
                            blocked = true;
                        }
                        } catch (ex) {
                            blocked = true;
                        }
                if (blocked) {
                    alertshow("您得浏览器禁止了弹窗,请到设置中取消禁止项.");
                }else{
                    hide_login();
                    }
    }else{
                 alertshow('对不起,暂无任何下载资源...');
                }    
    });
    
}

其中alertshow()是我自己写得弹出框方法,不用在意。

如果你得url只是一个下载地址得话, 以上方法可以拿来直接用。调用形式如下:

windowopen(url);

= = .是不是很简单.. windowopen方法判断浏览器是否禁用了弹窗。值得注意得是,

window.open(url, "_self");  这里得'_self'并不是新打开一个窗口。 所以可能无论如何,你都检测不到弹出窗体被禁用得情况。
如果你想看到效果,可以把self 改称'_blank'或者其他你知道的...0.0 。

欢迎讨论。

参考资料包括有:1. 判断浏览器弹窗是否被屏蔽
        2. 判断地址是否有效
原文地址:https://www.cnblogs.com/bluen/p/3623548.html