2012-08-14 87 views
3

我试图从页面加载一个Iframe中的帖子,POST变量与将要加载的页面一起发送。没有任何内容明确地打开一个新窗口,但我在FF和Chrome中收到弹出窗口阻止的通知。 IE不会阻止POST,但可能会在未来更新。下面列出的是触发弹出的代码。将页面发布到iframe导致弹出窗口阻止程序,以防止发布操作

gamePage.name = 'game_page'; 
setTimeout('', 100); 
gamePage.onload = setTimeout("$.download(getCompletePath() +'account/SomeFile.php', gameId='+game_Id+'&playMode=J', 'post', 'game_page')", 0); 

这里是$。下载功能:

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将不胜感激。

+0

我做相同的,但Chrome浏览器是否正常工作; IE和Firefox正在给出弹出窗口阻止程序错误。 – jenjenut233 2013-02-01 20:25:09

回答

0

而不是一个iFrame,只使用一个简单的DIV。

调用jQuery.post()方法,并将响应作为div的innerHTML使用jQuery.html(/ 响应 /)函数。

类似的东西:

$.post("urlToLoad.ext", { name: "John", time: "2pm" }) 
.success(function(data) { 
    $('#yourDivID').html(data); 
}); 
相关问题