摘要:什么情况下会弹窗被拦截当为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到或者一段异步代码内部,马上就出现被拦截。会被拦截会被拦截解决先在回调函数之前打开新窗口,后再加载
什么情况下会弹窗被拦截
当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被浏览器拦截的情况,搞得人无比郁闷啊,虽然在自己的环境可以对页面进行放行,但是对用户来说,不能要求用户都来通过拦截。何况当出现拦截时,很多小白根本不知道发生了啥,不知道在哪里看被拦截的页面,简...
摘要:之前的项目,有个功能是下载文件,这里只要在浏览器输入就会下载那个文件了。 之前的项目,有个功能是下载文件,这里只要在浏览器输入 url 就会下载那个文件了。当时我只是简单得使用 window.open ,但是却会被浏览器进行拦截,要手动开启才行,然后就搜索研究其他方法,就看到各种各样的,通过 js 打开新窗口的方法了,这里就总结一下 解决下载功能 这里就先说解决下载功能的方法,通过同事...
摘要:之前的项目,有个功能是下载文件,这里只要在浏览器输入就会下载那个文件了。 之前的项目,有个功能是下载文件,这里只要在浏览器输入 url 就会下载那个文件了。当时我只是简单得使用 window.open ,但是却会被浏览器进行拦截,要手动开启才行,然后就搜索研究其他方法,就看到各种各样的,通过 js 打开新窗口的方法了,这里就总结一下 解决下载功能 这里就先说解决下载功能的方法,通过同事...
摘要:在打开一个新窗口时,由于浏览器的安全机制,用户未始终允许的情况下,可能会触发到浏览器拦截,无法正常直接弹出。只分析使用代码手动打开新窗口的方式。所有浏览器都不允许非用户操作引起的打开新窗口。 在打开一个新窗口时,由于浏览器的安全机制,用户未始终允许的情况下,可能会触发到浏览器拦截,无法正常直接弹出。 网上有很多给出解决方案的只言片语,不够全面,所以针对自己遇到的问题做了详细的情况分析。...
阅读 1960·2021-11-23 09:51
阅读 872·2021-11-19 09:40
阅读 828·2021-10-27 14:20
阅读 5003·2021-10-09 09:52
阅读 3296·2021-10-09 09:44
阅读 1729·2021-10-08 10:05
阅读 5052·2021-09-09 11:47
阅读 3480·2019-08-30 12:47