Я использую Google Sign-In и у меня возникает следующая проблема:
sessionStorage.getItem('userEntity')
возвращает null
, когда я закрываю браузер и снова открываю его.Он не возвращает ноль, если я просто перезагружаю страницу.
Сессия будет установлена в этой функции:
// Signing in
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
// Store the entity object in sessionStorage where it will be accessible from all pages
let userEntity = {};
userEntity.id = profile.getId();
userEntity.name = profile.getName();
userEntity.img = profile.getImageUrl();
userEntity.email = profile.getImageUrl();
sessionStorage.setItem('userEntity',JSON.stringify(userEntity));
userIsLoggedOut.style.display = 'none';
userIsLoggedIn.style.display = 'flex';
document.querySelector('.user-img').setAttribute('src', userEntity.img);
}
Я не запускаю эту функцию в JavaScript.Следующий HTML заставит его работать:
<div class="g-signin2" data-onsuccess="onSignIn"></div>
Даже если я поставлю console.log(sessionStorage.getItem('userEntity'))
после функции или в нижней части моего JavaScript, он все равно возвращает ноль.
Я полагаю, что решение будет использовать Promise, но как я могу использовать его, если я не запускаю функцию onSignIn()
в JavaScript?