当前位置:首页 > 短网址资讯

ajax请求成功后新开窗口window.open()被拦截解决方法

www.ft12.com9年前 (2017-07-29)短网址资讯1638
ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢
 

问题:

前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢?
分析:

浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截。
解决方法:

1、异步改为同步,即:async:false

2、将新开窗口指向为一个对象,然后修改对象的 url,比如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$('.task').bind('click',function(){
var w = window.open();
$.ajax({
type: 'POST',
url: '/surveyTask',
dataType: 'json',
error: function(){
w.close();
},
success: function(res){
w.location = res.url;
}
});
});

最后需要说明的是:网上的动态添加 form 新开窗口的方法,并不适合 ajax 请求,至少博主测试了下仍然被浏览器所拦截。

扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_357.html

分享给朋友:

相关文章

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址资讯:架构师非常关注性能问题,上篇文章中我们介绍了京东的自动化压测体系 ForceBot,这篇文章来自 LinkedIn 的技术博客,介绍如何通过大数据算法来分析调用数据,自动定位性能瓶颈。本文由高可用架构翻译。背景我们 FT…

短地址实现原理及应用分析

摘要: ft12.com主要设计用来在各种内容出版中使用。根据 不同类型的出版服务不同,该短网址的使用方式也不相同,其大致可以分为传统纸质出版、电子出版和在二维码中的应用。…

给干妈开5万月薪,美女CEO烧光5000万?刷爆朋友圈后剧情再反转

“改变世界的逆行者。”——真格基金创始合伙人徐小平曾在《从0到1》,这本被中国创投界奉为“圣经”的书中,写下序言对创业者给予这样的评价。但当创业者与投资人反目成仇,说起话来也是丝毫不留情面。在刚刚过去的周末,不少人的朋友圈就被空空狐创始人和…

全球纯电动车制造商出货量排名:特斯拉仅第二

全球纯电动车制造商出货量排名:特斯拉仅第二

提到电动汽车,我们往往首先想到的是特斯拉,然而根据一份最新调查数据显示,特斯拉并非全球最大的电动汽车制造商。据JATO数据提供商最新公开的纯电动车制造商排名显示,目前雷诺-日产是全球最大的纯电动车制造商,特斯拉排在第二位,其它前十名厂商分别…

“色流”产业十年风云录:40万大军,吸食百亿利润

“色流”产业十年风云录:40万大军,吸食百亿利润

色流群体如蚂蚁一般,跟随着流量蜜罐迁移,经历多个时代的轮回变迁,并分食百亿级别市场……标题:“色流”产业十年风云录:40万大军,吸食百亿利润来源:一本财经,已授权『互联网的一些事』,转载请联系作者。在“流量为王”的时代,流量在某种意义上,就…

从产品、市场、投资等,深入了解与分析共享充电宝

从产品、市场、投资等,深入了解与分析共享充电宝

从4月开始,继共享单车之后,共享充电宝突然为科技创投圈所青睐。共享充电宝前景如何?本文作者从产品、市场、投资等多个维度对此进行了分析,共享充电宝的未来似乎并不那么扑朔迷离。忽如一夜春风来,千树万树梨花开。今年春天,共享充电宝火了。3月31日…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。