2011-08-14 32 views
11

Quiero saber cómo puedo usar JQuery para reemplazar el atributo de contenido de mis metaetiquetas de Facebook.Cambiar la etiqueta meta de Facebook Atributo de contenido usando JQuery

Busqué Stackoverflow y lo que he encontrado era este ejemplo:

$("meta[property=og:title]").attr("content", title); 
$("meta[property=og:url]").attr("content", url); 

En mi código que tengo las siguientes etiquetas meta:

<meta property="og:title" content="some content"/> 
<meta property="og:url" content="some content"/> 
<meta property="og:site_name" content="some content"/> 

Cuando ejecuto la función que deberían cambiar el contenido para las variables 'título' y 'url', el cambio no tiene lugar. Los mismos valores para el 'contenido' siguen siendo los mismos.

Quiero saber cómo, si es posible, usar JQuery para cambiar el valor de las metaetiquetas de Facebook.

Respuesta

14

Definitivamente es posible cambiar las metaetiquetas usando jQuery, pero no creo que logre lo que quiere ya que las etiquetas meta son tiradas por el raspador FB. El raspador FB se apaga y raspa la página para leer las metaetiquetas.

Edición Meta Tags

Puede actualizar los atributos de la página mediante la actualización de etiquetas de su página. Tenga en cuenta que og: title y og: type solo son editables inicialmente: una vez que su página recibe 50 Me gusta, el título se vuelve fijo, y después de que su página reciba 10,000 Me gusta, el tipo se vuelve fijo. Estas propiedades se corrigieron para evitar sorprender a los usuarios que ya les han gustado la página . Cambiar el título o escribir etiquetas después de alcanzar estos límites no hace nada, su página conserva el título original y el tipo .

Para que los cambios se reflejen en Facebook, debe forzar que se raspe su página . La página se elimina cuando un administrador de la página hace clic en el botón Me gusta o cuando la URL se ingresa en la URL de Facebook Linter. Puede forzar programáticamente que su página se elimine por cURL'ing the linter. Por ejemplo ...

https://developers.facebook.com/docs/opengraph/

+0

Solo me preguntaba si usar javascript para establecer estas propiedades. Eso requeriría que el raspador ejecute javascript en la página antes de leer las propiedades. ¿Es eso muy probable? – Gervase

+0

Cuando miro Facebook o su herramienta de depuración parece que no usan Javascript. – Weszzz7

23

Esta es la forma en que trabajó para mí:

$('meta[name=og\\:url]').attr('content', newVideoUrl); 

nota la doble barra invertida, sin que Jquery fallará con un error.

+0

Esta fue la respuesta que estaba buscando. ¡Gracias! – jtblin

+0

Así que márquelo como aceptado – Karol

+0

@Carlos No es la pregunta de jtblin .. –

10

El raspador de Facebook no tiene ejecutar JavaScript.

Por lo tanto, no funcionará el uso de Javascript para modificar las metaetiquetas para mostrar diferentes contenidos compartidos.

Debería usar el código del servidor para escribirlos según sea necesario en la fuente HTML.

+0

Esto sigue siendo cierto? –

+1

Sí, no creo que cambie a corto plazo tampoco. – elMarquis

Cuestiones relacionadas