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

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

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

分享给朋友:

相关文章

【官方说法】只需两步,正确识别百度蜘蛛

【官方说法】只需两步,正确识别百度蜘蛛

经常听到站长们问,百度蜘蛛是什么?最近百度蜘蛛来的太频繁服务器抓爆了,最近百度蜘蛛都不来了怎么办,还有很多站点想得到百度蜘蛛的IP段,想把IP加入白名单,但IP不固定,我们无法对外公布。那怎么才能识别正确的百度蜘蛛呢?来来来,以短网址站为例...

世界正在惩罚过度友善的人

世界正在惩罚过度友善的人

01过度友善的人,害怕拒绝,温暖了别人,却累死了自己《欢乐颂》里的关雎尔,心地善良,温顺听话,成了很多男人眼中“适合结婚的对象”,但她的过度友善也常常为人诟病:因为心地太好,不懂得拒绝别人,工作中招来不少麻烦。印象中有个片段是,同事让她帮忙...

信息匹配再升级:从“物流滴滴”到“物流支付宝”的进化之路

信息匹配再升级:从“物流滴滴”到“物流支付宝”的进化之路

[ FT12短网址 ] 从传统的物流到互联网物流,经历了野蛮生长的行业也要开始精耕细作,在以实体运输为载体的基础上,线上、简单、服务、安全将是一大考验,而这也正是目前物流行业努力的主要方向,打好基础以后要“盖高楼”了。图片来自“1...

如何使营销短信效果最大化?FT12「短链接」统计功能来支招

营销短信可以用较低成本换来高转化率,同时可以达到精准营销的目的,因而广泛受到电商平台的追捧。 但短信链接有没有被点击,短信发出去后的效果如何?如何让营销短信变成用户喜爱的有价信息而非垃圾信息?如何评估营销短信转化率?FT12「短链...

短网址API文档接口说明

API请求地址:                  &nbs...

FT12短网址:Tcp长连接与短连接对高并发的影响

1、Tcp树立连接需求三次握手,断开连接需求四次握手。2、tcp树立连接后将会在操作系统内核内存中保护四元组方针(源ip,源port,方针ip,方针port)。3、tcp在断开连接时,自动断开方四元组将会处于time_wait状况,一起源p...

发表评论

访客

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