javascript - 在加载时将登录状态设置为 true

标签 javascript html google-signin

我想知道页面加载后我是否已登录。

以下代码返回 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/

相关文章:

javascript - 尽管上传成功,但在 aws s3 中找不到图像

javascript - 是否可以为 SVG 元素设置边框或线性渐变 - line

html - Nokogiri Xpath 在 <TD> 和 <SPAN> 内检索 <BR> 之后的文本

css - Div in Position Fixed with background image under a div in position absolute with content

ios - Xamarin.iOS 应用程序项目应用程序无法识别 GoogleService-Info.plist

javascript - Amserial 图表图例

javascript - 为什么jsfiddle中定义的方法无法被识别?

javascript - Div背景颜色不变

android - ionic $urlRouterProvider.otherwise() 不工作

android - 未经 GET_ACCOUNTS 许可从 GoogleApiClient 获取 Google 帐户 token