2012-03-07 10 views
6

Estoy desarrollando un sitio web basado en Ajax y quiero incluir una función de compartir FB en el contenido cargado. Los enlaces usan una etiqueta hash y no puedo lograr que aparezcan los enlaces completos cuando utilizo la función compartir, solo obtengo la URL del dominio. ¿No se permiten las etiquetas hash o hay un método especial para compartir dichos enlaces?¿Es posible utilizar etiquetas hash con Facebook?

+5

El texto después de un '#' en un URI es un ** identificador de fragmento **, no una etiqueta hash. Un hashtag es un sistema para facilitar la búsqueda de contenido relacionado en Twitter. – Quentin

+0

Ah, ya veo, gracias. –

Respuesta

20

Utilice la codificación URL para el carácter #. Basta con sustituir la siguiente:

http://www.example.com/#/path/to/whatever/ 

con:

http://www.example.com/%23/path/to/whatever/ 

Esto le permitirá pasar el # para compartir en Facebook, Twitter, etc sin ser despojado.

+2

Ryan @ Cool, ¡gracias! –

+6

Esto ya no funciona. –

+2

Lo hago por mí! Primero reemplacé el '#' con '% 23' y que 'urlencode()' de PHP en la parte superior. – FFish

1

Eche un vistazo a la respuesta de Google al problema de contenido de AJAX, the hashbang.

Básicamente, en su página de AJAX, establecer el hash para !/path/to/whatever/ – en otras palabras,

http://www.example.com/#!/path/to/whatever/ 

Tenga en cuenta su servidor en realidad debe servir contenido similar a lo que se ve en la aplicación AJAX en http://www.example.com/path/to/whatever/ .

No estoy seguro de si Facebook respeta el hashbang, pero al menos soluciona los problemas de Googlebot para usted. Editar: Parece que Facebook doesn't support the hashbang. Probablemente tengas que configurar una página redirectora.

+0

Gracias. Sí, vi ese hilo ahora, parece que FB no admite ningún tipo de método hash :( –

Cuestiones relacionadas