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

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

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

短网址和二维码在2017年上海车展上的应用

 今天去参观了2017年的上海车展,展会上各家汽车厂商都展出了自己最新的技术和车型,而且现场有非常非常多的营销和推广活动。但是,总结发现:大部分的推广活动都离不开微信、二维码、短网址等等。短网址和二维码在移动营销中的应用已经非常的…

短网址生成器哪个好用?多维度对比

目前市面上很多各式各样的短网址生成器,但是,到底哪个生成器最好用呢?首先,我们要从各个方面去分析。其一,短网址的打开速度和便利性。ft12短网址在这方面就有得天独厚的优势。他集合了u6.gg, rrd.me , c7.gg ,kks.me…

一个40岁华为男的自白:作为前IBM员工,除了钱,我为什么要来华为“受虐”

一个40岁华为男的自白:作为前IBM员工,除了钱,我为什么要来华为“受虐”

我离开“我摸”(IBM的江湖俗名)加入华为的时候,老板、同事、同学、朋友都十分惊讶的问我为什么。当时总是很装逼的说:“换个环境,我想看看自己的career。”实际上入职后的好几年里,我还在问自己到底为什么来华为。别笑我如此纠结,当年华为的名…

勒索病毒“永恒之蓝”大爆发

勒索病毒“永恒之蓝”大爆发

2017年5月12日20时左右,新型“蠕虫”式勒索病毒“WannaCry”爆发。截至目前,该病毒已经席卷包括中国、美国、俄罗斯及欧洲在内的100多个国家。我国部分高校内网、大型企业内网和政府机构专网遭受攻击,被感染的组织和机构已经覆盖了几乎…

AppStore算法再次升级,运营如何在ASO中破冰?

AppStore算法再次升级,运营如何在ASO中破冰?

作者:刘兴时史上最严厉的AppStore算法来了,黑色5月一点都不夸张!近段时间,笔者发现移动互联网圈里做运营推广的朋友挺抓狂的,大家都在吐槽AppStore,吐槽点集中在“最近的评论都被AppStore删除了,ASO真的没法做了”史上最严…

发表评论

访客

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