我想知道页面加载后我是否已登录。
以下代码返回 false
:
function init() {
gapi.load('auth2', function () {
log(gapi.auth2.getAuthInstance().isSignedIn.get());
});
}
我的元素 ( <div class="g-signin2" data-onsuccess="onSignIn"></div>
) 的值是“登录”,但页面完全加载后,它会变成“已登录”。我想这可能就是为什么我得到 false
.
这就是我的 HTML 的样子:
<html>
<head>
<title>OAuth</title>
<meta name="google-signin-client_id" content="420430821131-c5t2p83bvsca290e6iu4h1ih5t1bpg45.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>
</head>
<body>
<div class="comment-area">
<p class="login-info">To write a message, please login with Google.</p>
<div class="g-signin2" data-onsuccess="onSignIn"></div>
</div>
<script src="../assets/js/oauth.js" defer></script>
</body>
</html>
我也尝试过gapi.auth2.getAuthInstance().isSignedIn.get();
init()
之外函数但它返回:
oauth.js:22 Uncaught ReferenceError: gapi is not defined
我怎样才能得到true
?
最佳答案
您应该尝试在页面完全加载后进行检查
window.onload = function() {
gapi.load('auth2', function () {
log(gapi.auth2.getAuthInstance().isSignedIn.get());
});
};
关于javascript - 在加载时将登录状态设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56694561/