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

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

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

分享给朋友:

相关文章

小企业面对618京东淘宝“二选一” 有关部门能管些啥?

小型的电商渠道们现在依然着上演京东和淘宝“二选一”这出戏。“从法理上讲,工商局的规矩实际上已归于行政手法干涉司法的情形。换句话讲,这个规矩的意思是,你假如违反了法令,会遭到工商层面的行政赏罚。但你很难把618、双11这种临时性促销节、短期商...

车震应该怎么办?

车震应该怎么办?

别想歪啦了~想歪了的自己去面壁!你以为是这样的?或者是这样的?又或者是这样的?no,no,no,其实是这样的!?有一次坐着车,突然,突然车就抖了起来,这是车在震我!后来才知道,汽车抖动是常见的故障之一,其中又分为怠速的时候抖动与行车中的抖动...

短网址网站开发必须理解的Java中SPI机制

短网址网站开发必须理解的Java中SPI机制

今天小编通过探析FT12短网址提供的,在短网址网站设计中比较常用的Java SPI机制,希望给大家在实际开发实践、学习开源项目提供参考。SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者...

从知识付费不同时期的演化趋势 看其蜕变轨迹

从知识付费不同时期的演化趋势 看其蜕变轨迹

【FT12短网址资讯】信息技能革命后,泥沙聚下的信息爆炸逐步被精准对接用户需要的商业开发筛选,常识也从海量的信息中被抽离,摇身一变从免费同享的资本成了待价而沽的商品。上一年知乎、分答、得到等途径的火爆,真实撬动了常识付费这个万亿规划的新商场...

揭秘Google排名的205个因素(百度80%管用)完整版列表

揭秘Google排名的205个因素(百度80%管用)完整版列表

不少人都知道Google的搜索排名算法使用200多个因素,但具体是什么呢?除了Google的核心算法工程师,几乎没有人知道完整真相。而所谓的SEO技术,很多时候是分析、测试搜索获得的简单结论,有些优化方向是明确的,比如良好的用户体验、优质内...

北上广大跌50%以上,楼市冰点真的来了

北上广大跌50%以上,楼市冰点真的来了

北上广大跌50%以上,楼市冰点真的来了原上草关于楼市,草哥本不想说得太多,毕竟大势已去,主力已经撤退,很难再折腾出什么大风浪了。但不断有网友问下一步走势怎样,要不要买。我只能说,如果是刚需自住还是买了吧,如果是投资,可以认为不会是什么好买卖...

发表评论

访客

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