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

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

www.ft12.com8年前 (2017-07-29)短网址资讯2583
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短网址运营已经6年了,从2011年的某一天开始到今天2018年8月15日。在这么多的日日夜夜中,我们力争保证所有用户的短网址能稳定、快速、有效,这对于一个几千万级别的数据库来说真的不是一件很简单的事情。大概在2012年,短网址运营一...

软件架构设计中的五视图方法论

软件架构设计中的五视图方法论

1.每个人都可以做成为架构规划师不明白软件的和刚入行的大家一听到架构规划,都认为是十分的高大上课题,是一个遥不行及的范畴,一般人是不能做的。听起来云里雾里的,第一印象除了来自微软,阿里这些NB的公司里面的人别的的都不能做出架构似的,这是一种...

中国式无现金生活 谁给了你“不用等”的底气?

在日本最大的论坛2ch上,一则标题为《中国的非现金社会飞速发展已超乎想象》的帖子,近日引发了日本网友对于中国移动支付的热烈讨论。讨论贴称,目前中国只有不到11%的人还在使用现金支付,移动支付已在中国取得统治地位。回帖的网友们还举出了很多有趣...

同样是做原创内容,你为什么没有别人赚得多?

同样是做原创内容,你为什么没有别人赚得多?

1.内容创业是这个年代的大机遇,凭借互联网的大流量,简直人人都能够经过内容来挣钱。这是咱们这个年代的大福利。许多人面临内容创业都摩拳擦掌,撸起袖子准备大干一场。不过,在详细的行动过程中,总有人会有这样的感触,自个明明很努力但效果却比不上牛人...

繁忙人士的救星:相见恨晚的高效学习方法汇总

繁忙人士的救星:相见恨晚的高效学习方法汇总

FT12短网址的小编,每天不仅要花大量的时间在短网址站的维护中,还要抽出时间和精力在自己本职的工作上,因此,每天真正属于自己的可支配时间非常的短。短网址、工作、爱好等这几项如何平衡?如何高效的完成每天的工作?下面这篇文章也许对你有点帮助。一...

林肯公园主唱自杀:这个世上有人正承受着你所不能理解的痛苦

林肯公园主唱自杀:这个世上有人正承受着你所不能理解的痛苦

昨天刷微博的时候看见一条新闻,林肯公园主唱切斯特上吊自杀,那时候我心里只是微微一惊,毕竟这是一个麻木的时代,死亡换来人们一次短暂的叹息,然后大家又陷入彼此庸碌的一生,虽然我们不知道灾难和明天哪一个会先来,但我们终究学会的只是在麻木里等待明天...

发表评论

访客

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