Próbuję zaimplementować logowanie Google do mojej witryny. Przycisk logowania wyświetla się poprawnie, a znaki - na początku dobrze. Mój problem pojawia się, gdy wylogowuję się po użyciu strony internetowej i próbuję przejść do strony logowania (używam React, więc to wszystko jedna strona). Używam dokładnie tej samej funkcji do renderowania strony logowania, ale daje mi to "cb = gapi.loaded_0: 249 Uncaught TypeError: Nie można odczytać właściwości" style "o wartości null". Błąd w GAPI występuje tutaj (przynajmniej myślę):Nie można odczytać właściwości "styl" o wartości null - przycisk logowania Google
a.El;window.document.getElementById((c?"not_signed_in":"connected"
To jak ja początkowo dodać logowania przycisk, aby być renderowane:
elements.push(h('div.g-signin2',{'data-onsuccess': 'onSignIn'}))
return h('div.page_content',elements)
które później renderowania z ReactDOM. renderuj połączenie.
Oto jak sobie radzić SignOut i 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()
}
To nie miejsce, w którym występują błędy. Musi być gdzieś 'element.style' gdzieś w kodzie z elementem' element' mającym wartość 'null'. W każdym przypadku musi istnieć nazwa pliku skryptu i numer linii z błędem w konsoli wskazującym, gdzie wystąpił błąd. – user2570380