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

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • Apple

    Apple

    22 HAZİRAN 2005
  • xiaoyu85

    xiaoyu85

    20 ŞUBAT 2010