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

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

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

分享给朋友:

相关文章

何须百死报家国

何须百死报家国

或许你的女朋友会问你,你到底有多爱她?对不少男生来说,这简直是世纪难题。不过现在网上流行这样一个回复:我爱你就像爱中国足球,尽管你虐我千百遍,我仍待你如初恋,不离亦不弃。看似浪漫的撩妹情话,实则显示了国足的尴尬处境,中国再一次的无缘世界杯,...

职业打假人,这几年的沉浮路

职业打假人,近代的历史,可以从这个行业的“祖师爷”王海说起,在上个世纪90年代初,王海的打假行为,对于这个行业的诞生,起到了“启蒙”的作用,虽然在90年代,整体的大环境并未引起太大的波澜,但是“职业打假”的这 颗种子,和王海的职业,一同发展...

首届品质电商节在杭启幕 深析新零售新品质新服务

首届品质电商节在杭启幕 深析新零售新品质新服务

[FT12短网址 ] 9月23日-9月25日,全国首届品质电商节在杭州余杭未来科技城盛大举办。百家精选品牌,500多款品质好物,三大主题场景馆与人工智能展区在现场呈现,国家质检部门领导、权威专家学者代表、众多互联网企业大咖参加本次...

DHT 爬虫初步研究

一直想写一个种子搜索引擎,搜集资料开始写后遇到了一个难关:爬虫的效率太低,运行一天也爬不到一条消息,而且阿里云在我的程序开始运行后一天就无法远程登录,只能重启服务器。一度计划被搁置了下来,直到最近事情出现了转机,我找到了更好的爬虫原型,并且...

西安一破旧小区楼顶掉下两辆共享单车,车胎爆裂

西安一破旧小区楼顶掉下两辆共享单车,车胎爆裂

“当时住户们听到了很大的响声,后来发现有人从楼上扔下了两辆共享单车。”西安市青松路雅兰花园小区住户说,工作发生在5月17日晚,也不知道是什么人干的。5月18日下午2时许,记者来到该小区B座一家住户家中,从窗子向外看去,两辆单车依然在连接两座...

FT12短网址:网站被降权怎么办 如何恢复权重?

FT12短网址:网站被降权怎么办 如何恢复权重?

尽管baidu一再强调百度本身并没有权重一说,可是关于各位站长兄弟来说,权重仍是衡量一个网站的主要指标之一。一个网站的权重高,代表流量高,录入好,关键字排行也相对较好。那么,这么主要的指标,一旦不稳定了,被降权了怎么办呢?笔者从前运营过一个...

发表评论

访客

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