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

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

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

分享给朋友:

相关文章

看了那么多SEO教程,为何你还是搞不定排名?

看了那么多SEO教程,为何你还是搞不定排名?

前言:本文独家原创首发卢松松博客,转载请保留作者联系方式与原文出处!前些天和一个朋友在讨论互联网营销的时候偶然提到了SEO优化,朋友说去年买了一套SEO教程自学,到目前为止,差不多将近一年了,排名还是非常的不好(几乎没有排名)。我问他既然看...

马云又有新动作!天猫小店来了,颠覆传统小卖部!

140平米,8年时光,两代超市,两代人。这家超市位于浙江大学玉泉校区北门的西溪路上,是黄安的父亲黄海东一手做起来的小店,但随着年纪的增长和周边连锁便利店竞争的加剧,他显得有点力不从心。一年前,他“连哄带骗”地让黄安从杭州行政服务中心离职,一...

谷歌新品发布的背后:AI并不是功能增加,而是彻底改变

谷歌新品发布的背后:AI并不是功能增加,而是彻底改变

[ FT12短网址 ] 谷歌按例发不了新的手机和可穿戴设备,谷歌一直善于巧用AI解决一些其他厂商诉诸硬件才能解决的问题;同时,他们也善于在AI基础上推出新的软硬件结合产品。这种能力可能会为我们带来更多惊喜。谷歌这一次的新品发布会,并不是单纯...

FT12短网址:太聪明的人,往往会失败的很离谱

FT12短网址:太聪明的人,往往会失败的很离谱

有傻瓜的当地才会发作奇观印度有一位闻名的哲学家,气质高雅,因而变成很多女性的偶像。某天,一个女子来访问他,她表达了爱慕之情后说:“错过我,你将再也找不到比我更爱你的女性了!”哲学家尽管也很中意她,但仍习气性地答复说:“容我再思考思考!”过后...

为了吸引你的目光,这些家具费尽心机

家具,不只是家中不可或缺的物件,还是我们居住空间中少不了的摆设,正因为如此,它们也有更多可以挖掘的创意性设计所在。设计师便对常见的家具做了一些不一样的改变和创新,让使用者和这些本无生命的家具之间,有了更多的连接。把书本“吊”在木架上颠覆你对...

网站防御cc攻击的方法和突破技巧!

最近FT12短网址经常遭到CC攻击,早在前两个月的时间,我的短链接遭到CC攻击,大概流量在7G左右,7G的CC流量攻击算是非常大的了,那么我们如何防御CC攻击呢,另外CC攻击又是怎么一回事呢?CC攻击是什么CC攻击是通过大量的IP同时访问一...

发表评论

访客

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