2011-09-02 18 views
12

Estoy utilizando all.js para la implementación de Facebook. Usé un botón de Facebook en la página de registro. Al iniciar sesión en Facebook, recibo el nombre de usuario y el correo electrónico del usuario de Facebook en los campos en la página de registro. Funciona bien en Chrome, Safari y Firefox pero da error en IE8.Error de permiso denegado en all.js

el error está en línea all.js 22

{FB.UIServer._loadedNodes[a.id]=b;if(a.params)b.fbCallID=a.id; 

Por favor, ayúdame si alguien sabe por qué este problema se está produciendo.

Gracias Udham

+0

Toneladas de preguntas similares: [1] (http://facebook.stackoverflow.com/questions/7343226/facebook-login-throws-permission-denied), [2] (http://facebook.stackoverflow.com/questions/7346333/permission-denied-error-in-all-js), [3] (http://facebook.stackoverflow.com/questions/6678376/facebook-connect-cant-login-in-using-ie- permiso denegado), [4] (http://facebook.stackoverflow.com/questions/6654892/facebook-connect-access-denied-on-line-22-all-js-in-ie7-8) - I ' he votado para cerrar a los demás en un intento de hacer de ésta la pregunta canónica. –

+0

@apaidnerd Por lo que puedo decir ... hay varias razones por las que puede obtener un error de permiso denegado en el archivo all.js - votar para cerrar todas menos una es como votar para cerrar todas las preguntas en C que incluyen un desbordamiento de búfer - el error de permiso denegado es un síntoma ... no el error real – Jiaaro

+0

@Jiaaro - Su analogía es incorrecta. Los que voté están relacionados con un error de Facebook en particular. –

Respuesta

7

Se trata de un fallo conocido: http://bugs.developers.facebook.net/show_bug.cgi?id=19042 Se establece como CERRADO fijo, pero muchos usuarios aún están reportando el error en el área de comentarios.

Un truco se sugiere en el comentario # 19:

FB.init({ 
.... 
.... 
}); 
FB.UIServer.setActiveNode = function(a,b){FB.UIServer._active[a.id]=b;} // IE hack to correct FB bug 

Se trabajó para algunas personas. Debo decir que no funcionó para mí, pero pensé que valía la pena mencionarlo.

+0

No funcionó para mí. Sin embargo, otro punto de datos.:( –

+0

@apaidnerd el hecho de que este truco funciona para algunos y no para otros sugiere que existen diferentes causas subyacentes de por qué ocurre este error ... ¿no cree? – Jiaaro

+0

Actualización: el error 19042 se actualizó en Facebook Bug Tracker para * * TODAVÍA NO FIJO **. Así que están conscientes y con suerte están trabajando en ello. – imbrizi

10

Pruebe esto. Me funcionó, puede ayudar a alguien.

FB.UIServer.setLoadedNode = function (a, b){FB.UIServer._loadedNodes[a.id] = b; } 

Idealmente adjuntar depurador y ver qué método se rompe y entrar ilegalmente en él.

+0

Esto debería marcarse como respuesta, funcionó para mí y para un grupo de otros – Andrey

1

Acabo de toparme con esto (o un problema similar). El mío estaba en all.js línea 22, char 3160, justo después de document.documentElement.style.display='none'; Fue un error de permiso denegado.

En mi caso, que era porque el channelUrl estaba usando un protocolo diferente (https) que iframe de mi aplicación estaba siendo cargado en (http). Intenté //mydomain.com/channel.html, pero eso me dio un error diferente. Lo resolví eligiendo dinámicamente http/https para channelUrl al generar el html.

1

Encontré una solución. Ya se encuentran publicados una respuesta aquí https://stackoverflow.com/a/8504794/287604, pero para los desesperados la solución rápida:

FB.init({ 
    appId:  'xxxxx', 
    appSecret: 'xxxxxxxxx', 
    status:  true 
    cookie:  true 
}); 

// this code solves the issue 
FB.UIServer.setLoadedNode = function (a, b) { 
FB.UIServer._loadedNodes[a.id] = b; 
}; 
1

Todavía estoy luchando con esto, pero una obra extraña alrededor acabo de notar es que si al usar fb:-botón de acceso al configurar el programa -faces atributo a "verdadero" de repente funciona bien. Intenté 2 botones fb al lado del otro: los botones de inicio de sesión y el botón con las caras del espectáculo configuradas como falsas o no incluidas devolverían el error cada vez.