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

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • Diogo Oliveira

    Diogo Olivei

    4 HAZİRAN 2006
  • Evan Coury

    Evan Coury

    29 NİSAN 2007