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

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

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

分享给朋友:

相关文章

汽车电商周报:解散风波与银行入股消息齐飞

【短网址资讯网】本周汽车电商与出行领域有10件大事值得关注。从汽车电商数据和平台的相关动作来看,汽车电商有惊无险,解散风波安全度过,业务创新还在继续。另外一个亮点是,本周互联网出行领域内关于摩拜被曝贪腐一事逐渐尘埃落定,网约车平台也拿到资质...

互联网时代是写作人最好的时代

今天给大家谈的话题离不开网络,也离不开写作。总结一句话:互联网时代是写作人的时代。之所以这么说,我想从以下4点入手阐述:1.网络的核心是文字2.相比较之下,人们更习惯看文字3.文字的便利性4.网络传播离不开文字1.网络的核心是文字可能有人要...

短网址资讯:连打赏都要分苹果三成 中国反垄断法不能视而不见

美国闻名财经媒体《华尔街日报》报导,苹果公司在APP store上提出了新的请求,“打赏”将像用户采购的游戏、音乐和视频相同,被视为运用内采购(in-app purchases),苹果将从中取得30%的分红。为了保证方针...

短网址自定义功能的测试

测验首要分为两大部分, 功能性测验和非功能性测验。前次已经做了功能性测验的解说,(没阅读的请阅读《简单高效的短网址生成服务C#实现》)下面解说自界说短网址测验和非功能性测验,全面的测验过程,以确保ft12短网址的各项功能契合用户的需求。  ...

短网址在日常生活中的应用

短网址是一个特殊的群体网站,很多很多人都不知道其存在的意义,也不知道他是什么时候发展起来的。第一个发明短网址的人真的非常的有头脑,堪比第一个吃螃蟹的英雄。我估计,发明短网址的人一定是一个设计师,而且还是个顶级的设计师和处女座强迫症患者。很长...

从代码层面优化系统性能的解决方案

从代码层面优化系统性能的解决方案

我们以前看到的很多架构变迁或者演进方面的文章大多都是针对架构方面的介绍,很少有针对代码级别的性能优化介绍。本文将针对一些代码细节方面的东西进行介绍,欢迎大家吐槽以及提建议。 写在前面 在 上一篇 我们主要介...

发表评论

访客

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