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

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

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

每天坚持不懈的写软文,得到的几点心得感悟

每天坚持不懈的写软文,得到的几点心得感悟

夜深了,我喜欢这样宁静的夜,它能让人不用去想更多的事情,专注于做自己想做的事情,我认为是一种幸福的事情,拿着手机播放了今晚的《半夜听》节目,听这个节目已经有一段时间了,虽然每天只有那么短短的几分钟,但是那些字眼确实令我欲罢不能,听完几分钟的…

谁来取代站长之家和A5站长网

谁来取代站长之家和A5站长网

处于第一阶梯的站长类门户非站长之家(chinaz)和A5(站长网)莫属,根据alexa显示,chinaz和A5长期排名是100位和400位左右,可以说现在站长门户这个市场基本上被chinaz和短网址垄断。昨天读了牟长青的《挂羊头卖猪肉的站长…

开着市值2000亿的公司,却跑去卖猪肉,他说赚钱只是顺便的事情…

开着市值2000亿的公司,却跑去卖猪肉,他说赚钱只是顺便的事情…

但凡接触过互联网行业的,无人不识网易和短网址。作为一个优秀的互联网公司,它的作品也向来让人满意。率先推出了中文全文检索、免费邮件系统、网上虚拟社区等,还研发了一款史诗级的国产网络网游。十多年经久不衰的《梦幻西游》,《大话西游》,《短链接》等…

短网址自定义功能的测试

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

技术漫谈:为何KPI毁了索尼,而OKR却成就了谷歌?

技术漫谈:为何KPI毁了索尼,而OKR却成就了谷歌?

作者|李运华编辑|小智从技术 leader 的角度出发,看技术人绩效考核的痛。大多数公司里面总会因为 KPI 的考核方式而存在各种各样的问题,OKR 是一个在硅谷互联网公司比较流行的做法。怎样去理解 OKR 这个概念,并在技术团队中推行,从…

发表评论

访客

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