我知道這個問題出現了很多,但我還沒有能夠解決我的問題。如何動態更新元標記
我有一個由PHP驅動的網站,其中包含視頻。不同的視頻有自己的網址,如index.php?id = 1。對於Facebook分享,我希望每個視頻/網址都有更新的元標記。
每個視頻的信息(標題,說明等)都存儲在數據庫中,並且我成功將該信息檢索到我的網站。
下面是從JavaScript傳遞一個變量到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>
這裏是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
通過這樣做,我能夠呼應標題和描述視頻到div #headerFromFile在我的html文檔中。
但問題是,我想有存儲到元屬性=此信息「OG:標題爲」和元屬性=「OG:說明」當前URL的。
任何幫助,高度讚賞。
[更改元標籤動態使用jQuery]的可能的複製( https://stackoverflow.com/questions/7308970/changing-meta-tags-dynamic-with-jquery) –
當'index.php?id = 1'時,您的_server_需要使用正確的元數據返回HTML文檔請求。您不能使用客戶端代碼設置OG元標記,Facebook刮板並不關心這一點。您基本上想要完全取消AJAX部分,並將PHP代碼移動到'head'中,並使其在那裏輸出元標記。 – CBroe
太棒了。那就是訣竅。我擺脫了ajax,並將php部分移到html的頭部。從那裏我可以將php變量直接回顯到meta標籤中。 謝謝! –