1

Bis jetzt habe ich es geschafft, einen Facebook Login Button auf meiner Seite zu implementieren. Die Anmeldung funktioniert gut, aber ich möchte eine Funktion in meinem login.js Code aufrufen, wenn die Anmeldung erfolgreich war.Facebook Login Button onlogin = "Funktion" gibt ReferenceError

Ich benutze die onlogin von This link, die meine UserLogin() -Funktion auslösen wird.

Mein Problem ist, dass, wenn ich in der Anwendung anmelden ich diese Reference erhalten:

[Reference: Userlogin ist nicht definiert --- sdk.js: 1: 1]

Ich habe keine Ahnung warum ich diesen Fehler habe.

Alle meine Javascript-Code ist in einer .js-Datei und in den oberen Teil von.

Relevante Code:

Userlogin(), die in $ (document) .ready (function() {...}) platziert ist;

// This function is called when someone finishes with the Login Button. 
function userLogin() { 
    console.log("it worked"); 
    FB.getLoginStatus(function(response) { 
     statusChangeCallback(response); 

    }); 

} 

HTML-Code, Taste, die die Funktion auslösen:

<body> 
<div id="fb-root"></div> 
    <script src="login.js" type="text/javascript"></script> 

    <div class="loginButton"> 
    <fb:login-button scope="public_profile,email" onlogin="userLogin();"> 
</fb:login-button> 

    </div> 

Antwort

2

Ihre Funktion im Rahmen von $(document).ready(), und nicht außerhalb definiert ist.

Um es global verfügbar zu machen, können Sie dies in Ihrem login.js tun können:

var userLogin; 

$(document).ready(function(){ 
    userLogin = function(){ /* ... */ }; 
}); 

Note:userLogin is a name that could interfere with another library that might use the same name if it is defined globally. To avoid that kind of problems, I'd advise you to give it a more "custom" name, like myUserLogin .

+0

+1 Sie meinen Tag, danke gespeichert wurde die Rückruffunktion nicht Auslösung und das, was mein Problem gelöst . – wpcoder