Je suis conscient que cette question est souvent soulevée, mais je n'ai pas encore réussi à résoudre mon problème.Comment mettre à jour les balises META dynamiquement
J'ai un site Web conduit par php qui contient des vidéos. Les différentes vidéos ont leur propre URL, comme index.php? Id = 1. Pour le partage sur Facebook, je souhaite que chaque vidéo/URL contienne des balises META mises à jour.
Les informations pour chaque vidéo (titre, description, etc.) sont stockées dans une base de données et je récupère avec succès cette information sur mon site.
Voici le script qui passe une variable de Javascript vers PHP:
<script>
var video;
var URL = document.location;
function setVideo(src){
video = src;
$(document).ready(function(){
$.ajax({
url: URL,
type: 'GET',
data: {
videoPHP: video,
},
success: function(data) {
// This prints the php result to html
$('#headerFromFile').html(data)
}
});
});
}
</script>
Et voici le PHP:
if (isset($_GET['videoPHP'])) {
$videoID = $_GET['videoPHP'];
// SQL query
$sql = "SELECT * FROM Videos WHERE ID='$videoID'";
$result = $connect->query($sql);
$row = $result->fetch_assoc();
?>
<h1><?php echo $row['Header'];?></h1>
<p><?php echo $row['Description'];?></p>
<?php
En faisant cela, je suis en mesure de faire écho l'en-tête et la description pour la vidéo à la div #headerFromFile dans mon document html.
Le problème, cependant, est que je voudrais avoir ces informations stockées à la propriété méta = « og: titre » et propriété meta = « og: description » de l'URL actuelle.
Toute aide est fortement appréciée.
double possible de [Modification de méta-tags dynamiques avec jQuery] (https://stackoverflow.com/questions/7308970/changing-meta-tags-dynamic-with-jquery) –
Votre _serveur_ doit renvoyer le document HTML avec les méta-données correctes, quand 'index.php? id = 1' est demandé. Vous ne pouvez pas définir les méta-tags OG en utilisant le code côté client, le grattoir Facebook ne s'en soucie pas. Vous voulez fondamentalement enlever complètement la partie AJAX ici, et déplacer le code PHP dans le 'chef', et lui faire des métatags de sortie là. – CBroe
Fantastique. Cela a fait l'affaire. Je me suis débarrassé de l'ajax, et déplacé la section php dans la section tête du code HTML. De là, je pourrais répercuter les variables PHP directement dans les balises META. Merci beaucoup! –