首页运维零件 › ajax 异步请求成功后需要新开窗口打开 url,浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的

ajax 异步请求成功后需要新开窗口打开 url,浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的

2.挡住须要的ajax 回调或函数。

2、将新开窗口指向为三个对象,然后改良对象的 url,比方:

前面开垦品种时遇见一个主题材料,ajax 异步诉求成功后必要新开窗口打开url,使用的是 window.open(卡塔尔国方法,不过很心痛被浏览器给挡住了,怎么消除这几个主题材料啊?
分析:

ok, 我们使用jQuery 的get方法来测一下:

浏览器之所以拦截新开窗口是因为该操作并非顾客主动触发的,所以它感到这是不安全的就拦住了(可是如若是
_self 的话就不会有那一个约束),即使 ajax 回调函数中效仿推行 click 或者submit
等客商作为(trigger('click'卡塔尔(قطر‎),浏览器也会感觉不是由顾客主动触发的,因而无法被平安实施,所以被拦截。
养虎遗患办法:

1、异步改为协同,即:async:false

阻拦全数ajax央求,央求统意气风发加多时间戳

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
需要,起码博主测验了下如故被浏览器所拦截。

什么运用

ajax 异步央浼成功后必要新开窗口展开 url,使用的是 window.open(卡塔尔(英语:State of Qatar)方法,可是很心痛被浏览器给挡住了,怎么解决那么些主题素材呢

2、将新开窗口指向为多个对象,然后修正对象的 url,举个例子:

转载本站文章请注明出处:vns威尼斯城官网登入 http://www.tiec-ccpittj.com/?p=4250

上一篇:

下一篇:

相关文章