Hogyan előzhető meg a Facebook Connect isUserConnected funkció futtatását kétszer jQuery?

szavazat
0

Van egy kis probléma a Facebook integráció.

Amikor a felhasználó rákattint egy linkre, a funkció ellenőrzi, ha a felhasználó be van jelentkezve a Facebookra. Ha nincs bejelentkezve, én meg olyan adat, és futtassa a Facebook bejelentkezési dolgokat. Ha Facebook visszatér, hogy jelentkezzen be, megyek ellenőrizni az adatot, amit tároljuk és az eredeti funkciót kiválasztották.

A probléma:

A Facebook funkció kétszer fut. Vannak néhány megjegyzést az üzenőfalon ebben a kérdésben, de úgy tűnik, ez már olyan kérdés eleje óta connect, és nem veszik figyelembe.

Szóval, nem akarok várni a Facebook. Van-e mód arra, hogy megakadályozza a funkciót felhívtam a funkciót többször is?

Hogyan lehet beállítani valamit, hogy azt mondja fuss egyszer? A probléma az, hogy ha egyszer egyszer fut, ha a felhasználó rákattint újra, azt kell futtatni újra, így nem tudom teljesen kikapcsolni ezt a funkciót (ha ez lehetséges).

A kérdést 05/03/2009 05:53
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
1

Ez elég hack-szerű, de meg kell, hogy a problémát a Facebook hív a funkciót kétszer. Mivel nincs kód, megyek, hogy néhány fel abból a célból, én megoldásom. Továbbá, felteszem, hogy a facebook login kód visszahívási (hogyan más lenne hívja a funkciót kétszer?).

// 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);
}

Ebben a megoldásban, akkor csomagolás a kívánt funkciót fut visszahívási, amely csak egyszer futnak, mivel doFunction jövőbeli megelőzését visszahívások csinál semmit. Azonban ez fog futni legalább egyszer minden alkalommal, amikor a felhasználó rákattint, mivel doFunction helyben kezeljük (és így nem igaz, ha minden egyes kattintás).

Válaszolt 05/03/2009 06:24
a forrás felhasználó

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