在 FF 和 IE 中显示 Google+ 登录按钮的问题。在 Chrome 工作

Issue showing Google+ sign-in button in FF and IE. Works in Chrome

我正在尝试将 google+ 登录按钮添加到我的页面。我已按照开发人员文档中的步骤进行操作:https://developers.google.com/+/web/signin/add-button

如果用户登录到 google,那么它在所有浏览器中都可以正常工作。 如果用户没有登录到google,它只会在Chrome中显示登录按钮,而在FF和IE中则不会。在 FF 和 IE 中,呈现的 html 按钮的高度和宽度均为 1px。如果我直接在浏览器中更改高度和宽度,按钮就在那里并且可以使用。

有谁知道它只在 FF 和 IE 中有这种行为,而在 Chrome 中没有?

这是我的 html 代码:

    <span id="signinButton">
        <span
          class="g-signin"
          data-callback="googleCallback"
          data-clientid="###key###"
          data-cookiepolicy="single_host_origin"
          data-requestvisibleactions="http://schema.org/AddAction"
          data-scope="https://www.googleapis.com/auth/plus.login">
        </span>
     </span>

     <script src="https://apis.google.com/js/client:platform.js" async defer></script>

还有我的JS代码:

function googleCallback(authResult)     {
    if (authResult['status']['signed_in']) {
        console.log("ok");
    } else {
        // Update the app to reflect a signed out user
        // Possible error values:
        //   "user_signed_out" - User is signed-out
        //   "access_denied" - User denied access to your app
        //   "immediate_failed" - Could not automatically log in the user
        console.log('Sign-in state: ' + authResult['error']);
      }
}

由于我没有收到任何回复,我将post在这里我是如何绕过这个问题的。

这是一种非常肮脏的方式。我不喜欢它。如果有人找到更好的方法请告诉我

我更新了 googleCallback 函数,因此它更改了按钮的 CSS。它修改了高度和宽度:

function googleCallback(authResult)     {
    if (authResult['status']['signed_in']) {
        console.log("ok");
    } else {
        // Update the app to reflect a signed out user
        // Possible error values:
        //   "user_signed_out" - User is signed-out
        //   "access_denied" - User denied access to your app
        //   "immediate_failed" - Could not automatically log in the user
        console.log('Sign-in state: ' + authResult['error']);
      }
}