资讯专栏INFORMATION COLUMN

window.open()弹窗被浏览器拦截

Astrian / 3387人阅读

摘要:什么情况下会弹窗被拦截当为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到或者一段异步代码内部,马上就出现被拦截。会被拦截会被拦截解决先在回调函数之前打开新窗口,后再加载

什么情况下会弹窗被拦截
当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被拦截。
    obj.onclick = function(){
         window.open(url)     // 会被拦截
    }
    
    
    obj.onclick = function () {
        ajax({
            url: "/xxxxxx/",
            success: function (url) {
                window.open(url);  //会被拦截
             }
        })
    }
});  
解决
    
    obj.onclick = function () {
        var newWindow = window.open();  //先在回调函数之前打开新窗口,后再加载url
        ajax({
            url: "/xxxxxx/",
            success: function (url) {
                newWindow.location.href = url;
            }
        })
    }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/102703.html

相关文章

  • window.open览器拦截的解决方案

    摘要:原因分析深入研究当浏览器检测到非用户操作产生的新弹出窗口,则会对其进行阻止。但是,被浏览器拦截我们代码中要弹出的窗口并不是程序员所希望的。 现象 最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,搞得人无比郁闷啊,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过拦截。何况当出现拦截时,很多小白根本不知道发生了啥,不知道在哪里看被拦截的页面,简...

    rickchen 评论0 收藏0
  • js 打开新窗口方式

    摘要:之前的项目,有个功能是下载文件,这里只要在浏览器输入就会下载那个文件了。 之前的项目,有个功能是下载文件,这里只要在浏览器输入 url 就会下载那个文件了。当时我只是简单得使用 window.open ,但是却会被浏览器进行拦截,要手动开启才行,然后就搜索研究其他方法,就看到各种各样的,通过 js 打开新窗口的方法了,这里就总结一下 解决下载功能 这里就先说解决下载功能的方法,通过同事...

    mgckid 评论0 收藏0
  • js 打开新窗口方式

    摘要:之前的项目,有个功能是下载文件,这里只要在浏览器输入就会下载那个文件了。 之前的项目,有个功能是下载文件,这里只要在浏览器输入 url 就会下载那个文件了。当时我只是简单得使用 window.open ,但是却会被浏览器进行拦截,要手动开启才行,然后就搜索研究其他方法,就看到各种各样的,通过 js 打开新窗口的方法了,这里就总结一下 解决下载功能 这里就先说解决下载功能的方法,通过同事...

    Jensen 评论0 收藏0
  • 览器拦截打开新窗口情况总结

    摘要:在打开一个新窗口时,由于浏览器的安全机制,用户未始终允许的情况下,可能会触发到浏览器拦截,无法正常直接弹出。只分析使用代码手动打开新窗口的方式。所有浏览器都不允许非用户操作引起的打开新窗口。 在打开一个新窗口时,由于浏览器的安全机制,用户未始终允许的情况下,可能会触发到浏览器拦截,无法正常直接弹出。 网上有很多给出解决方案的只言片语,不够全面,所以针对自己遇到的问题做了详细的情况分析。...

    Steven 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<