significa que javascripts internet habilitar funciona español consola activar javascript facebook google-chrome

que - Facebook ofrece el error "Intento de JavaScript no autorizado para acceder al marco con URL" en Chrome



no funciona javascript (8)

Mi aplicación de Facebook de muestra funcionaba muy bien ayer en Chrome. La página integra Silverlight y Facebook a través del JavaScript SDK. Puedo verificar el estado de inicio de sesión básico, iniciar sesión en Facebook, obtener su nombre y cerrar la sesión.

Hoy, sin cambios en mi parte, está roto en Chrome con un error de JavaScript que es muy común en los resultados de búsqueda de Google, pero no hay respuestas reales. Todavía funciona muy bien en IE y Firefox.

Aquí está la URL pública:

http://www.andrewdothay.net/prj/facebook/

Cuando abres la consola de JavaScript en Chrome, arroja toneladas de estos errores:

JavaScript inseguro intenta acceder al marco con URL

http://www.facebook.com/login.php?api_key=151352704876752&cancel_url=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df1175dd3f%26origin%3Dhttp%253A%252F%252Fwww.andrewdothay.net%252Ff304d89d8%26relation%3Dopener%26transport%3Dpostmessage%26frame%3Df3760623c%26result%3DxxRESULTTOKENxx&channel_url=http%3A%2F%2Fwww.andrewdothay.net%2Fprj%2Ffacebook%2F&display=popup&fbconnect=1&locale=en_US&method=auth.login&next=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df3c546942%26origin%3Dhttp%253A%252F%252Fwww.andrewdothay.net%252Ff304d89d8%26relation%3Dopener%26transport%3Dpostmessage%26frame%3Df3760623c%26result%3DxxRESULTTOKENxx&return_session=1&sdk=joey&session_version=3&v=1.0 desde el fotograma con URL http://www.andrewdothay.net/prj/facebook/ .

Deben coincidir los dominios, protocolos y puertos.

¿Alguna idea sobre qué está pasando con Chrome aquí?

Actualizar

Descubrí que Chrome en la máquina de hoy estaba bloqueando la ventana emergente de inicio de sesión cuando estaba llamando a FB.login (), pero sé que ayer no estaba recibiendo esos 190 mensajes de error en la consola de JavaScript.

Entonces, cuando dejo ventanas emergentes en Chrome, funciona para un usuario final, pero todos esos nuevos mensajes de error están matando mi experiencia de diagnóstico como desarrollador.


En mi caso, el problema estaba relacionado con la <div id="fb-root"></div> . No lo estaba poniendo inmediatamente después de la etiqueta <body> apertura, según lo recomendado por los documentos .

Después de ponerlo en el lugar correcto, se detuvo el error "JavaScript no seguro ...".


En mi caso, fue porque Facebook JS se cargó varias veces en una sola página: una para iniciar sesión y la segunda para el botón "Me gusta". Eliminar la referencia en el módulo "me gusta" guarda el día.


Encontré la solución. Si ejecuta FB.login sin acción del usuario, webkit bloquea las ventanas emergentes.

Por ejemplo, utilicé un sistema de invitación en mi proyecto. Había una entrada / texto para ingresar el código de invitación. Comprobé que el código de invitación está disponible con una solicitud ajax / post. si está disponible, ejecuto FB.login (). Como supones, el navegador bloqueó una ventana emergente y aparecieron toneladas de errores en la consola js.

Por lo tanto, debe ejecutar FB.login () después de una acción del usuario. Pondré un botón de inicio de sesión de Facebook entre ajax / post y FB.login (). Los usuarios tendrán que hacer clic, lo cual es una mierda, pero no verán un problema.

Por cierto, el problema se produce en unos días. Creo que se trata de un sistema de confianza del navegador. Cuando lo está desarrollando, lo visita muchas veces, el navegador cree que es confiable al principio. No estoy seguro de esta parte, pero mi solución funciona.


La eliminación de la opción ''xfbml: true'' de mi llamada a FB.init solucionó esto por mí.

Estaba teniendo el problema en el navegador de Internet predeterminado en Android Jelly Bean


La solución de Mücahit Yılmaz también funcionó para mí. No necesitaba acceder a la información del usuario, así que eliminé el script de inicio de sesión de la aplicación de muestra. También se eliminó el mensaje de bienvenida y cualquier información que requiera información almacenada en la variable $basic .


Mücahit Yılmaz es correcto. Tome el ejemplo que pegué a continuación y si usa el método setTimeout () falla, de lo contrario funciona. Sigo recibiendo el mensaje de advertencia en un bucle hasta que inicie sesión correctamente pero es un precio pequeño a pagar. Estoy seguro de que los usuarios no lo verán.

$(document).ready(function() { $("#facebook_link").click(function() { //setTimeout(fb); fb(); return false; }); function fb() { FB.getLoginStatus(function(response) { if (response.session) { // logged in and connected user, someone you know gotResponse(response); } else { // no user session available, someone you dont know FB.login(function(response) { if (response.session) { // user successfully logged in gotResponse(response); } else { // user cancelled login, do nothing } }); } }); } function gotResponse(response) { console.dir(response); }

});

Es fácil de reproducir: inicie sesión en Facebook en otra pestaña, luego pruebe este código y no verá advertencias. Cierre sesión, luego pruebe el código y obtendrá las advertencias. Es porque golpea el bloque .login.


Tuve este problema con un navegador Chrome y fue debido a mi configuración de Chrome. Tuve el navegador configurado para no permitir que los sitios de terceros establezcan datos de cookies. Permitir ventanas emergentes no fue un problema para mí. Cuando se crea el iFrame de Facebook, debe establecer una cookie que luego usa para rastrear si el usuario necesita iniciar sesión. Si no se permite establecer esa cookie, el sitio falla. Una cosa que sería útil en la API de Facebook sería una configuración que muestra cuando algo está fallando. No veo eso como un evento al que uno pueda suscribirse y asignar una devolución de llamada.

Aquí hay un enlace al FB javascript sdk en las suscripciones. Se agradecería cualquier respuesta sobre cómo encontrar una devolución de llamada para solicitudes fallidas.
https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/


Y en mi caso, el problema estaba relacionado con el tipo de protocolo: desde:

<div class="fb-like-box" data-href="https://www.facebook.com/xxxxxx"

a:

<div class="fb-like-box" data-href="http://www.facebook.com/xxxxxx"

como mi tienda web no usó https, eliminé ''s'' del atributo data-href de likebox.