internet-explorer - mac - descargar google normal
Inicio de sesiĆ³n de Google para aplicaciones web que no funcionan con Internet Explorer (5)
Utilizando la muestra de inicio rápido provista por Google, he podido iniciar sesión para que las aplicaciones web funcionen en Chrome y Firefox. Sin embargo, falla en Internet Explorer (versión 11.) Se registrará el usuario en Google pero nunca se llama a la llamada de recuperación de data-onsuccess
. Y normalmente no hay notificaciones de ningún error.
He leído una pregunta relacionada y he intentado con las sugerencias en Sitios de confianza. También he experimentado con el ajuste cuando IE acepta cookies de terceros, pero nada de esto parece funcionar.
El código para la página de prueba que estoy usando está debajo (menos el ID del cliente)
<html>
<head>
<meta charset="ISO-8859-1">
<title>Google Sign In</title>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id" content="CLIENT_ID_FROM_GOOGLE_HERE">
<script>
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log(''ID: '' + profile.getId());
console.log(''Name: '' + profile.getName());
console.log(''Image URL: '' + profile.getImageUrl());
console.log(''Email: '' + profile.getEmail());
}
function signOut() {
console.log(document);
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {
console.log(''User signed out.'');
});
}
</script>
</head>
<body>
<h1>Login</h1>
<p>
This is a simple page to test Google Sign In IE
</p>
<div class="g-signin2" data-onsuccess="onSignIn">
Sign In Button Rendered Here
</div>
<div>
<a href="#" onclick="signOut();">Sign out</a>
</div>
</body>
</html>
También he intentado esto con un código que utiliza oyentes para escuchar los cambios, como lo sugieren algunas answers . Tampoco he tenido éxito con ese enfoque. Nuevamente funciona en Chrome / Firefox pero no en IE.
De vez en cuando (no todo el tiempo) veo un mensaje de error "SCRIPT5: acceso denegado" en la consola. No estoy muy seguro de por qué, pero sí me doy cuenta de que cuando la página finalmente se carga, parte del código de Google está en un <iframe>
y me pregunto si esto es parte del problema.
Alojo la página de prueba anterior en una instancia local de Apache (que se ejecuta en Windows) y me pregunto si hay problemas entre dominios, quizás con el código en el <iframe>
proveniente de Google.
Estoy completamente perdido en el minuto y estoy ansioso por saber si alguien ha logrado que esto funcione con IE. ¿Hay alguna configuración requerida para IE para permitir que esto funcione? ¿Hay cambios en el código necesarios para que funcione? ¿O es esencialmente inviable en IE?
Una alternativa que puedo probar es el flujo del lado del servidor, sin embargo, no estoy seguro de si esto evita el problema y, idealmente, me gustaría utilizar el enfoque del lado del cliente.
Cualquier comentario es apreciado. Gracias.
Editar: he alojado una página simple que ilustra el problema. Esta página funciona en Chrome, Firefox y Safari. Pero falla cuando se usa IE (v11).
¿Ha habido nuevas ideas sobre este tema? También estoy viendo el mismo problema cuando trato de usar los métodos de g-signin2. Estoy usando el viejo s-gignin sin problema ahora en todos los navegadores.
Por extraño que parezca, esto funciona para mí en un navegador IE10, pero no en IE11 o Edge
El equipo de Identidad de Google solucionó esto en noviembre . Si continúa viendo problemas en la demostración de JavaScript alojada en GitHub , informe y emita el problema .
Puede consultar las demostraciones siguientes para ver el trabajo de muestra en Edge / IE11:
Intenta cargar tus scripts desde otro lugar que no sea google. De acuerdo con esta pregunta ( Prevención de error "SCRIPT5: Acceso denegado" en IE ), el error "SCRIPT5: Acceso denegado" es una forma en que Ms tiene que ''proteger'' al usuario contra XSS.
Por lo tanto, intente descargar https://apis.google.com/js/platform.js y utilícelo en su servidor local.
Mientras se ejecuta en localhost, si agrega Form Id a su formulario en la página de inicio de sesión, no se procesará después de iniciar sesión a través del botón de inicio de sesión de Google. Incluso el estado de inicio de sesión no cambiará a "Firmado" en el botón de inicio de sesión de Google. Pero esto se puede resolver ejecutando la página en el Servidor Público, ya que IE tiene una función para restringir los scripts mientras se ejecuta localmente.