我正在尝试通过一个带有POST变量的页面在Iframe中加载页面。没有明确打开新窗口的内容,但是我在FF和Chrome中收到了弹出式阻止通知。IE目前还没有阻止POST,但将来可能会。下面列出了触发弹出窗口的代码。
gamePage.name = 'game_page';
setTimeout('', 100);
gamePage.onload = setTimeout("$.download(getCompletePath() +'account/SomeFile.php', gameId='+game_Id+'&playMode=J', 'post', 'game_page')", 0);
这里是$.download函数:
jQuery.download = function(url, data, method, target){
//url and data options required
if( url && data ){
//data can be string of parameters or array/object
data = typeof data == 'string' ? data : jQuery.param(data);
//split params into form inputs
var inputs = '';
jQuery.each(data.split('&'), function(){
var pair = this.split('=');
inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
});
//send request
jQuery('<form action="'+ url +'" method="'+ (method||'post') +'" target="' + target +'">'+inputs+'</form>')
.appendTo('body').submit().remove();
};
};
目前我们的操作是通过GET方式执行的,但是我们正在尽可能将大多数GET请求切换为POST。如果可能的话,请帮忙解决在POST到iframe时如何绕过弹出窗口拦截器的问题,感激不尽。