在FF和IE中显示Google+登录按钮的问题。适用于Chrome

时间:2015-01-09 10:59:37

标签: google-api google-plus

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

如果用户登录谷歌,则可以在所有浏览器中正常使用。 如果用户未登录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']);
      }
}

1 个答案:

答案 0 :(得分:0)

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

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

我更新了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']);
      }
}