SORU
20 Aralık 2010, PAZARTESİ


Omniauth facebook bir pop-up içine oturum açın

Raylar ile omniauth gem kullanıyorum ve kullanıcı loging ile harika çalışıyor, ama her seferinde oturum açma sayfasında yönlendirir, fb götürür. Eğer en sayfaları ne yapacağız ve bir pop-up içinde fb login göstermek için bir yol olup olmadığını merak ediyordum ve o tamamlandıktan sonra üst div reload. Herhangi bir fikir?

Teşekkürler!

CEVAP
29 Aralık 2010, ÇARŞAMBA


Emin, sen-ebilmek kolayca.

Sizin bakış:

=link_to "Log in with Facebook", omniauth_authorize_path(:user, :facebook), :class => "popup", :"data-width" => 600, :"data-height" => 400

Application.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;
});

Ve geri arama görünümü:

:javascript
  if(window.opener) {
    window.opener.location.reload(true);
    window.close()
  }

Bu merkezli 600x400 bir popup Facebook sizin auth çıkageleceğini, kullanıcı kimlik doğrulaması döndüğünde, görünümü açılır penceresini kapatmak ve ana sayfayı yenile. Kullanıcı ctrl-tıklama bağlantısını düşürür, incelikle, ya da Javascript etkin değil.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • FUzzyBUnnyBOoties

    FUzzyBUnnyBO

    3 EKİM 2007
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010