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

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

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

高并发秒杀系统架构设计 · 抢购、微信红包、短网址、一元夺宝

高并发秒杀系统架构设计 · 抢购、微信红包、短网址、一元夺宝

秒杀业务与难点秒杀业务在各业务中已然非常流行,这里我将互联网行业中的秒杀定义为:在非常短的时间内,将一件商品分成多份进行购买的行为。微信抢红包、短网址、一元夺宝、双11大促抢购等业务本质上都可视作秒杀业务。而最近大热的抢红包的难度在于这是和…

HTTP的长连接和短连接

HTTP的长连接和短连接

 本文总结&分享网络编程中涉及的长连接、短连接概念。    关键字:Keep-Alive,并发连接数限制,TCP,HTTP一、什么是长连接     HTTP1.1…

PHP编程需要掌握的20个要点,能极大提高效率

PHP编程需要掌握的20个要点,能极大提高效率

[摘要] 用单引号取代双引号来包括字符串,这样做会更快一些。由于PHP会在双引号包抄的字符串中征采变量,单引号则 不会,留意:只要echo能这么做,它是一种能够把多个字符串看成参数的“函数”用单引号取代双引号来包括字符串,这样做会更快一些。…

黑客盗取NSA工具,引发全球网络攻击

被驱逐的联邦调查局局长詹姆斯·科梅(Simon Comey)的阴影昨天挂在参议院情报委员会的全球威胁听证会上。 像麦克白岛的Banquo的鬼一样,Comey的缺席无处不在。 但这不是当今最超现实的方面。 这是在内部威胁越来越严重和可怕的时候…

一条徐沪生比papi酱更有价值,短网址真的比直播更适合内容创业者吗?

一条徐沪生比papi酱更有价值,短网址真的比直播更适合内容创业者吗?

[ ft12短网址导读 ] 与papi酱的过气构成鲜明对比的是,短视频职业却越来越火,被称为直播之后的又一个内容创业风口,新老互联网巨头都争着往里面砸钱。用户为什么俄然对短视频产生了如此激烈的需求?真实能够依靠的盈利模式又是什么?…

发表评论

访客

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