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

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

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

分享给朋友:

相关文章

支付宝征战香港 海外版App支付宝HK即将来了

支付宝征战香港 海外版App支付宝HK即将来了

5月24日,支付宝宣告推出香港版电子钱包——支付宝HK,正式为香港居民供给无现金效劳。从前,香港人只能用支付宝在taobao买买买,不能像内地用户相同,走到哪儿都掏出手机,扫码付钱,但有了这个支付宝HK这个独立App以后,香港用户也将能用支...

大吃一惊,一个日ip200多的网站竟然能带来50万收益

大吃一惊,一个日ip200多的网站竟然能带来50万收益

2015年以后,名噪全国,威震江湖的自个站长集体一时刻集体失声,似乎这个集体底子没存在过。互联网的实质是人道,而非技能。我曾经在2015年年初的时分发表过一篇文章《使用人道缺点挣钱的项目剖析》,其中有提到过风月类网站。其时在写这篇文章的时分...

内容电商的时代 看同路大叔怎样下这盘棋

内容电商的时代 看同路大叔怎样下这盘棋

【ft12短链接网讯】同路大叔——这个靠星座吐槽发家的网红IP,在新浪微博上具有超越1210万名粉丝,微信推送音讯简直能做到条条“十万+”。这个坐拥无穷粉丝集体的自媒体,本来早就走上了内容电商变现的路途。现在同路大叔开设了天猫官方旗舰店,具...

一个40岁华为男的自白:作为前IBM员工,除了钱,我为什么要来华为“受虐”

我离开“我摸”(IBM的江湖俗名)加入华为的时候,老板、同事、同学、朋友都十分惊讶的问我为什么。当时总是很装逼的说:“换个环境,我想看看自己的career。”实际上入职后的好几年里,我还在问自己到底为什么来华为。别笑我如此纠结,当年华为的名...

18年前比尔·盖茨的15大预言 如今基本全都实现了

北京时间 5 日早间消息,据美国《商业内幕》(Business Insider)报道,早在 1999 年,微软(68.17, -0.76, -1.10%)创始人比尔-盖茨曾写下一本名为《未来时速-数字系统与商务新思维》(Business@...

大家一定注意了 Chrome 的插件 User-Agent Switcher 是个木马!

hrome 商店搜索 User-Agent Switcher,排第一的这个插件(45 万用户),是一个木马...https://chrome.google.com/webstore/detail/user-agent-switcher-fo...

发表评论

访客

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