Nasıl jQuery iki kez çalıştıran Facebook Bağlan isUserConnected işlevini önleyebilir?

oy
0

Ben bir Facebook entegrasyonu ile bir sorunun biraz var.

Benim kullanıcıların bir bağlantıyı tıkladığınızda, bir kullanıcı Facebook oturum edilirse, bir işlev denetler. Onlar Giriş yapmadınız, ben veri parçasını ayarlamak ve sonra Facebook giriş şeyler çalıştırın. Facebook'tan giriş yapmalarını o döndüğünde, ben saklandığı veri parçasını kontrol edin ve onlar seçilmiş orijinal fonksiyonunu çalıştırın.

Sorun:

Facebook fonksiyonu iki kere çalışır. Orada bu konuda kendi mesaj panolarında bazı yorumlar vardır, ancak bu bağlantı başından beri bir sorun olmuştur görünüyor, ve adreslenemedi.

Yani, Facebook için beklemek istemiyorum. defadan fazla benim işlevini çağırarak elde fonksiyonunu engellemek için beni bir yolu var mı?

Ben bir kez çalıştırmak 'diyor bir şey ayarlayabilir miyim? Sorun bir kez çalışır kez kullanıcı tekrar tıklarsa, ben tekrar çalıştırmak için ihtiyaç duyacağı olmak, bu yüzden tamamen (bu mümkün olsa bile) işlevini devre dışı bırakamaz.

Oluştur 05/03/2009 saat 05:53
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Bu güzel kesmek-ish ama Facebook'un sorunu iki kez işlevini çağırarak etrafında onu almalısınız. Hiçbir kod var beri, benim çözümü amacıyla bazı makyaj yapacağım. (Bu iki kez işlevini çağırarak olacağını başka nasıl?) Ayrıca, ben facebook giriş kodu bir geri arama sahip olduğunu tahmin ediyorum.

// This function is what is called when the link is clicked
// funToRun - the function that should be run after login is confirmed.
// params - parameters to pass to fToRun, as an array
clickWrapper = function(funToRun, params)
{
    // Keeps track of the state of the click
    var doFunction = true;

    var callback = function()
    {
        if (doFunction)
        {
            funToRun.apply(this, params);
            doFunction = false;
        }
    }

    // The facebook 
    facebookLogin(callback);
}

Bu çözümde, size doFunction şey yapmaktan gelecek geri aramalar önleyecektir beri sadece bir kez çalışacak bir geri arama çalıştırmak istediğiniz işlevi tamamlamak üzereyiz. doFunction yerel yönetilmektedir beri Ancak, her seferinde en az bir kez kullanıcı tıklama çalışır (ve böylece her bir tıklama için bir kez geçerlidir).

Cevap 05/03/2009 saat 06:24
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more