2010-11-30 13 views
5

Encontré este problema en toda la red, pero todavía no hay respuesta, así que tal vez aquí alguien lo resolvió ...? Creé una página confiando mucho en jquery.address. Tiene una página de índice y el resto se carga de forma dinámica a través de Ajax siguiendo el esquema /#!/ de Google para páginas rastreables. Ahora quiero agregar el botón "Me gusta" o "Compartir" de Facebook, pero no puedo obtener el título o la URL real de la página.Me gusta Facebook o comparta con el título del documento dinámico

Cualquier cosa que haga, siempre recae en el título y la url de la página de índice. Lo intentó:

  • (obviamente) cambiando el título de un meta de openGraph en la carga de las nuevas piezas.
  • "une" la página rastreador (?_escaped_fragmet_=xyx), pero especificando la página #! en el meta "compartir"
  • con un título y URL dada.

Nunca obtengo nada más que un enlace a la página de índice o un "recurso compartido" en blanco a la URL correcta con el título y la miniatura ignorados.

¿Alguien ha puesto en funcionamiento una configuración similar?

Gracias por cualquier insinuación, Thomas

+0

¿Ha encontrado una solución todavía? ya que todavía no pude encontrar ninguno tampoco Facebook usa #! en sí, pero no parece apoyarlo para su oruga, ¿verdad? –

+1

¡De hecho descubrí que Facebook está usando #! Hace dos días. ¡Ahora funciona! Si construyes tu sitio para que http://site.de/?_escaped_fragment=something sea idéntico a http://site.de/#!/something todo lo que tienes que hacer es "compartir" el #! url y mostrará la información de la página de fragmento escapado. Use esta URL para verificar: http://developers.facebook.com/tools/debug – thomas

+0

También es posible que desee comprobar https://github.com/balupton/history.js/wiki/Intelligent-State-Handling para obtener un solución limpiadora – thomas

Respuesta

3

Facebook está usando actualmente #! y funciona! Si construye su sitio para que http://site.de/?_escaped_fragment=something sea idéntico a http://site.de/#!/something, todo lo que tiene que hacer es "compartir" la url #! y mostrará la información de la página del fragmento escapado.
Utilizar esta dirección URL para comprobar: http://developers.facebook.com/tools/debug

Pero: Una solución mucho más limpio que el problema se puede encontrar aquí: http://github.com/browserstate/history.js/wiki/Intelligent-State-Handling

2

Mi conjetura sería que el rastreador de Facebook no se ejecuta JavaScript y siempre mostrará lo que sea en realidad está en la página que recibe del servidor.

+0

Sí, eso es lo que pensé ... – thomas

2

Facebook compartir tiene un caché BRUTAL, la última vez que lo comprobé que era imposible cambiar los datos de título/descripción, una vez que se raspó :(

+2

Afaik actualizan la caché si usa la herramienta de linte – thomas

+1

http://developers.facebook.com/tools/lint/ – thomas

+1

No sabía nada sobre esta herramienta de pelusa o si actualiza caché, gracias :) – dain

0

El problema que tuve fue el og: url y el URL real de la página no coincide. También leí una serie de comentarios acerca de los datos og justo después del elemento title, pero no creo que haya resuelto nada.

Con respecto a los problemas del almacenamiento en caché, es cierto que el almacenamiento en caché de Facebook es "brutal", pero no guarda nada en la herramienta de pelusas: http://developers.facebook.com/tools/debug.

Uso no-hash-bang URL al compartir enlaces. Proceso los enlaces duros y los redirijo a un lado del cliente de hash bang usando javascript. De esta forma, si un rastreador va a la página enlazada, mostrará la información tal como lo haría si se activara javascript.

Compare:

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Flikeapage.com%2F%23!%2FChristmas%2Fvs%2FBacon

y

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Flikeapage.com%2FChristmas%2Fvs%2FBacon

Espero que esto ayude.

Cuestiones relacionadas