Ich versuche Google zu implementieren, um mich für meine Website anzumelden. Der Sign-In-Button wird korrekt angezeigt und meldet sich zunächst gut ein. Mein Problem tritt auf, wenn ich mich nach der Nutzung der Website auslogge und versuche, zur Anmeldeseite zu wechseln (ich benutze React, also ist es eine Seite). Ich benutze genau die gleiche Funktion, um die Anmeldeseite zu rendern, aber es gibt mir ein "cb = gapi.loaded_0: 249 Uncaught TypeError: Kann die Eigenschaft 'style' von null nicht lesen". Der Fehler in gapi tritt hier (zumindest glaube ich):Kann die Eigenschaft "Stil" von null nicht lesen - Google-Anmeldeschaltfläche
a.El;window.document.getElementById((c?"not_signed_in":"connected"
Dies ist, wie ich die Sign-In zunächst hinzufügen Schaltfläche gerendert werden:
elements.push(h('div.g-signin2',{'data-onsuccess': 'onSignIn'}))
return h('div.page_content',elements)
, die ich mit einem ReactDOM später machen. Ruf anzeigen.
Hier ist, wie ich behandeln SignOut und SignIn:
function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function() {
// console.log('User signed out.');
signedin = false;
auth2 = null;
renderPage()
});
}
var google_idtoken;
var signedin = false;
// set auth2 to null to indicate that google api hasn't been loaded yet
var auth2 = null;
function onSignIn(googleUser) {
auth2 = gapi.auth2.getAuthInstance({
client_id: 'ClientID.apps.googleusercontent.com'
});
google_idtoken = googleUser.getAuthResponse().id_token;
wrongemail = true;
// if(auth2 != null && auth2.isSignedIn.get() == true){
if ((((auth2.currentUser.get()).getBasicProfile()).getEmail()).split("@").pop() == 'domain.com'){
signedin = true
wrongemail = false
}
updateSources()
// renderPage()
}
Das ist nicht der Ort, an dem die Fehler auftreten. Es muss irgendwo in Ihrem Code ein "element.style" sein, wobei ein "Element" auf "null" auswertet. In jedem Fall müssen der Name der Skriptdatei und die Zeilennummer mit dem Fehler in der Konsole angegeben werden, der angibt, wo der Fehler aufgetreten ist. – user2570380