2011-11-09 15 views
8

Cuando intento iniciar sesión con Facebook Oauth todo va bien hasta que la parte de la URL vuelve a dirigir con algo como esto:Facebook Oauth Entrar con jQuery Mobile # _ = _

http://mywebsite.com/facebookoauthbackpage.php#_=_ 

estoy usando jQuery Mobile en mi páginas y creo que # = es el problema.

La página permanece en blanco y no ocurre nada. Si elimino el "# =" todo va bien y la acción ocurre normalmente.

¿Alguien tiene alguna idea sobre cómo solucionarlo? Me he dado cuenta de que eliminar el "# =" de Facebook ya no será posible, así que quizás quitar algo del guión de jQuery para móviles pueda solucionarlo con javascript, pero no sé cómo hacerlo.

Respuesta

17

Se podría tratar de eliminar por la fuerza el hash al comienzo de su html, algo así como

<script> 
if (window.location.hash == "#_=_") 
     window.location.hash = ""; 
</script> 

Teóricamente la rutina será llamada antes $ (document) ready :) (nunca probado en jQuery Mobile sin embargo)

+0

Sí, esta es básicamente la solución. ¿De dónde viene el '_ = _'? – maxl0rd

+0

"Esta semana, comenzamos a agregar un fragmento # _ = _ a redirect_uri cuando este campo se deja en blanco. Asegúrese de que su aplicación pueda manejar este comportamiento". -> https://developers.facebook.com/blog/post/552/ – azureru

+0

Esto funciona genial, he estado buscando una solución para esto todo el día: Caio debería aprobar la respuesta a menos que alguien más tenga una mejor idea. – MBHNYC