当前位置:首页 > 短网址资讯 > 正文内容

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

www.ft12.com8年前 (2017-07-29)短网址资讯2273
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)

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

PHP 进阶之路 - 亿级 pv 网站架构实战之性能压榨

本博客并非全部原创,其实是一个知识的归纳和汇总,里面我引用了很多网上、书上的内容。也给出了相关的链接。本文涉及的知识点比较多,大家可以根据关键字去搜索相关的内容和购买相应的书籍进行系统的学习。不对的地方大家予以批评指正。有人给我留言说,亿级...

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

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

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

因央行监管严,微店或将不能用微信支付了

因央行监管严,微店或将不能用微信支付了

【FT12短网址】2017年6月15日上午,不少网友反应在口袋购物旗下微店(下简称“微店”)内已无法运用微信付出进行付款。亿邦动力网测验在微店内下单采购时发现,在挑选付款方法的页面,微信付出现已处于灰色不行选中情况,下面的赤色提示文字显现“...

微商推广的正确姿势

微商推广的正确姿势

信赖现代这个微商横行的时代,兄弟圈内现已被搞得乌烟瘴气,连双袜子都要搬到兄弟圈卖,不论他人怎样想,笔者反恰是把一切发广告的都拉黑了,身边的兄弟也有有些做起了微商,可是大有些的办法都是在兄弟圈发布鳞次栉比的文字,信赖那些文字也是大有些仿制而来...

真正独立的女性是少数,其他的都是九尾妖狐

真正独立的女性是少数,其他的都是九尾妖狐

“你给我爱情就好了,面包我自己挣。”01我朋友圈里便有这样一个“独立”的女孩。她漂亮且开朗,懂得如何跟男人相处,给他们若即若离的感觉,游刃有余,张弛有度。男人们在她的石榴裙下拜服,却从未有人能一亲芳泽,但他们总愿意为她消费,好像只要银行卡刷...

发表评论

访客

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