我正在尝试从帖子中加载一个页面以将其加载到 Iframe 中,其中 POST 变量与将要加载的页面一起发送。没有明确打开新窗口的内容,但我在 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。在发布到 iframe 时如何绕过弹出窗口阻止程序的任何帮助将不胜感激。