使用jQuery在服务器响应后打开新选项卡

时间:2011-06-03 18:17:15

标签: ruby-on-rails-3 jquery

我在服务器响应后在浏览器中打开新选项卡时遇到问题。这是服务器代码(我使用Rails 3.0.5):

respond_to do |format|
    format.js { render :json => {:url => link.url}, :status => :accepted }
end

因为我在AJAX调用之后使用jQuery作为默认的JS库,我用这个脚本处理服务器响应:

$('.link').bind('ajax:success',
  function(e, data, textStatus, jqXHR){
    $('#megalink').attr("href", data.url);
    $('#megalink').trigger('click');
});

其中“megalink”是:

<a href="" style="color:white;" target="_blank" id="megalink">.</a>

所以问题是:在202服务器响应之后,没有创建新选项卡。您可能知道如何在新标签中打开网址吗?

3 个答案:

答案 0 :(得分:0)

使用window.open(data.url);

希望有所帮助。

答案 1 :(得分:0)

嗯,_blank目标应该可以工作,如果你可以设置一个jsfiddle来显示它如何破坏,它会更容易帮助。否则,您可以尝试:

window.open(thenewurl);

答案 2 :(得分:0)

浏览器弹出窗口阻止程序阻止在脚本执行上下文中打开一个新窗口。

在同步模式下使用jquery AJAX,它将解决您的问题。