2011-09-05 12 views
31

sono questi miei meta-tag:Modifica delle meta-tag dinamici con jQuery

<meta property="og:image" content="assets/css/gfx/skold.png"/> 
<meta property="og:title" content="Den historie hjemmesiden for Norges Golfforbund"/> 
<meta property="og:description" content="Her finner du alle de historie tingene som har skjedd i Norges golfhistorie gjennom tidene" /> 
<meta property="og:url" content="http://###"/> 
<meta property="og:site_name" content="Norges Golfklubb"/> 
<meta property="og:type" content="sport"/> 

e sto cercando di cambiare le dinamiche con il seguente codice:

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

Ma io sono tenere sempre Sintassi errore, espressione non riconosciuta: [proprietà = og: titolo] in Firebug.

Utilizzo dell'ultima versione di jQuery. Qualcuno sa cosa sto sbagliando?

+10

Se questo è per Facebook per raschiare, tenere a mente che se li si aggiorna con JavaScript, Facebook non avrà accesso al valore modificato. – alex

+0

Bene. Hanno valori predefiniti, ma la pagina Web è costituita interamente da Ajax e Javascript, quindi devo modificare le informazioni in altri per condividere i contenuti giusti su Facebook. – OptimusCrime

+1

Hai bisogno di un valore predefinito per un permalink, non puoi avere un tag OG generato dinamicamente per facebook, esso tornerà sempre predefinito o vuoto quando proverai a collegarlo in una casella di commento/condivisione FB. – Relic

risposta

41

penso che si dovrebbe sfuggire : sguardo al documentation

$("meta[property='og\\:title']").attr("content", result.title); 
+4

puoi inserirlo anche tra virgolette singole. –

+4

''og: title'' deve essere tra virgolette singole – Relic

+0

@Relic funziona comunque, in ogni caso ho cambiato le virgolette singole –

3

Assicurarsi che le citazioni sono come questo:

$('meta[property="og:description"]').attr('content',"$modified_desc"); 
+0

Questo sarebbe appropriato a quello che stai cercando di ottenere, anche se il risultato finale sarà lo stesso, quindi risolvi il problema non il problema. – Relic

3

si potrebbe dare ogni elemento meta un ID o classe.

$('#metaelement').attr('content', 'my new meta description'); 
6
$("meta[name='og:title']").attr('content', 'my new title'); 

Utilizzando "property =" non funziona in Chrome