我正在尝试将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']);
}
}
答案 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']);
}
}