Javascript Rails Facebook OAuth弹出窗口JS

Javascript Rails Facebook OAuth弹出窗口JS,javascript,ruby-on-rails,Javascript,Ruby On Rails,我在这里使用了Chris Heald的答案:http://stackoverflow.com/questions/4491433/turn-omniauth-facebook-login-into-a-popup“它工作得很好 一个问题是重定向。我正在使用Desive和Oauth登录Facebook-我想在登录后关闭弹出窗口,并让用户在登录/注册后重定向到正确的页面 出于某种原因,现在,正确的路径被加载到弹出窗口中,而弹出窗口不会关闭。我想我错过了一些非常基本的东西。有什么想法吗?我是个十足的J

我在这里使用了Chris Heald的答案:http://stackoverflow.com/questions/4491433/turn-omniauth-facebook-login-into-a-popup“它工作得很好

一个问题是重定向。我正在使用Desive和Oauth登录Facebook-我想在登录后关闭弹出窗口,并让用户在登录/注册后重定向到正确的页面

出于某种原因,现在,正确的路径被加载到弹出窗口中,而弹出窗口不会关闭。我想我错过了一些非常基本的东西。有什么想法吗?我是个十足的JS新手

弹出窗口的JS:

function popupCenter(url, width, height, name) {
    var left = (screen.width/2)-(width/2);
    var top = (screen.height/2)-(height/2);
    return window.open(url, name, "menubar=no,toolbar=no,status=no,width="+width+",height="+height+",toolbar=no,left="+left+",top="+top);
  }

  $("a.popup").click(function(e) {
    popupCenter($(this).attr("href"), $(this).attr("data-width"), $(this).attr("data-height"), "authPopup");
    e.stopPropagation(); return false;
});
用于重定向的JS:

if(window.opener) {
    window.opener.location = <%= after_sign_in_path %>;
    window.close()
  }
if(窗口开启器){
window.opener.location=;
window.close()
}

您确定您在路径中的后签名是引号吗?您可能希望尝试以下方法:

window.opener.location = "<%= after_sign_in_path %>"
window.opener.location=“”
我怀疑窗口没有关闭,因为在执行该行之前出现了javascript错误