window.open方法被浏览器拦截的处理方式
程序员文章站
2022-05-18 22:45:58
问题现象 当我们在一个 ajax 回调中执行 window.open 方法时,新页面会被浏览器拦截。 原因 在 Chrome 的安全机制里,非用户直接触发的 window.open 方法,是会被拦截的。 处理 $('#jump-btn').on('click', function () { // 打 ......
- 问题现象
当我们在一个 ajax 回调中执行 window.open 方法时,新页面会被浏览器拦截。
- 原因
在 chrome 的安全机制里,非用户直接触发的 window.open 方法,是会被拦截的。
- 处理
$('#jump-btn').on('click', function () { // 打开一个空标签页(此处不会被拦截) var newtarget = window.open(); $.ajax({ data: data, success: function (url) { // 修改新窗口的 url newtarget.location.href = url; } }) });
总之,在用户交互时首先打开一个空标签页,随后在回调函数中更改 href 即可。
上一篇: djano-模板层基础知识
下一篇: 区分函数与方法
推荐阅读
-
JS判断网页广告是否被浏览器拦截过滤的代码_javascript技巧
-
360浏览器如何屏蔽广告?360浏览器广告拦截的设置方法详细介绍
-
Win10解决浏览器被强制默认为Edge的两种方法
-
destoon在360浏览器下出现用户被强行注销的解决方法
-
360浏览器如何屏蔽广告?360浏览器广告拦截的设置方法详细介绍
-
亲身经历:3天解决网站被百度网址安全中心拦截的方法
-
解决Chrome谷歌浏览器打开页面后上方莫名被遮挡的方法
-
ajax请求成功后新开窗口window.open()被拦截解决方法
-
destoon在360浏览器下出现用户被强行注销的解决方法
-
解决Chrome谷歌浏览器打开页面后上方莫名被遮挡的方法