2017-02-09 5 views
1

ich auf CMS arbeiten, die ich nicht herum zu verwirren mit Standard-Meta verwalten können WerteFacebook Share-Taste og: image

I addthis Aktien Schaltflächen hinzugefügt haben. dann habe ich jquery zu Meta-Werte zu ändern, wie folgend

$(document).ready(function(e) { 
$('meta[property="og:title"]').remove(); 
$('head').append('<meta property="og:title" content="<?=$title?>">'); 
$('meta[property="og:image"]').remove(); 
$('head').append('<meta property="og:image" content="<?=$image?>">'); 
}); 

beim Klicken auf Facebook Share-Taste, Titel wird je nach Bedarf aber Bild geändert verwendet nicht geändert wird.

wie kann ich es

Antwort

3

Da die Seite geladen wird nur einmal auf das Bild Wert funktioniert, kann ich die OG zuweisen: IMAGE URL einmal ... Aber ich möchte wirklich jedes Bild haben, mit seinen eigenen OG: IMAGE, da dies ein Fotoalbum ist.

Ändern OG Metatags Client-Seite ist keine tatsächliche Nutzung - da Facebook die Tags gelesen werden durch sie Schaber ist, das heißt, sie wird eine HTTP-Anforderung für die URL tun und sehen, was in den HTML-Code ist; und der Scraper führt kein JavaScript aus.

Lösung: Geben Sie für jedes Foto eine eigene URL mit eigenen Metainformationen an - und lassen Sie Ihre eigenen Funktionen wie Button/Share/jedes FB-Feature für jedes Foto auf diese URL verweisen.

(Wie man die Dinge handhaben clientseitige spielt keine Rolle - Sie noch alle Fotos auf einer Seite angezeigt werden können, laden Sie neue Inhalte über AJAX, was Sie wollen - aber Sie für Ihre Fotos benötigen separate URLs damit sie als einzelne offene Graph-Objekte erkannt werden.)

+0

Danke, aber wie kommt es, dass "title" geändert wird und "image" nicht betroffen ist? – almoujtahed

+0

Eigentlich der Moment, in dem Ihre URL lädt: Bild geladen in Dom deshalb. –

+0

cristal klar danke – almoujtahed