2013-01-16 198 views
0

我遇到了問題。Dynamic Facebook Meta Tags(og:image,og:url)

我想做一個類似按鈕,在一個Facebook元標記中dinamically更改內容屬性。 在其他線程中,我已經瞭解到,只要加載頁面,ist就不可能使用javascript或jquery屬性更改元標記。

我的想法是把面部按鈕放在iframe中。在這個框架中,我想定義自己的meta標籤。這個meta標籤是由php $ _GET變量操縱的,這些變量是通過操縱iframe內容的javascript發送的。

但它不工作..

簡單地解釋說: [index.php文件]

<html> 
<head> 
    <title>RandomPage</title> 
</head> 
<body> 
    <iframe id="fb" src="fb.php"> 
    <iframe> 
    <input type="submit" onclick="changelikebutton();" /> 
    <script type="text/JavaScript"> 
    function changelikebutton(){ 
    document.getElementById('fb').src = 'fb.php?l=5'; 
    } 
    <script> 
</body> 
<html> 

[fb.php]

<html> 
<head> 
    <meta property="og:image" content="RandomPage.com/<?php echo $_GET['l']; ?>.jpg" > 
</head> 
<body> 
    <facebook script code und id > 
    <div id="code für fb like button"> 
</body> 
<html> 

這不是原來的代碼,但它應該解釋我的想法

回答

1

你在正確的軌道上。只需爲每個類似按鈕提供一個唯一的網址。 URL可以具有相同的域,但是可以使用一些查詢參數來使其唯一。

<div class="fb-like" data-href="http://yourdomain.com/fb_meta.php?id=1" data-send="false" data-width="450" data-show-faces="true"></div> 

當用戶點擊like時,會爲與該按鈕關聯的絕對URL生成一個類似符號。該協會通常會在Facebook上產生一個故事。如果朋友決定點擊該故事,他們將被重定向到相關的URL。這就是您的元標記頁面可以派上用場的地方。

爲此,請使用基本HTML創建一個fb_meta.php頁面,然後放入您需要的任何打開的圖形標籤。有關打開圖標籤的更多信息,請參見herehere。您可以使用添加到URL中的查詢參數(id)來動態生成開放圖標記的內容,以使其唯一。

簡而言之,您可以使用$ _GET ['id']提取id,然後對您的數據庫,數組或其他任何元素進行調用以獲取元標記的內容。

將一個簡單的JavaScript重定向放回到您的主站點或頁面中您喜歡的按鈕,以便用戶不會陷入空白頁面是個不錯的主意。在你的fb_meta.php文件的body標籤中,輸入:

<script>window.location = 'http://yourdomain.com';</script> 
+0

感謝您的回覆 當我點擊頁面上的Like按鈕(在iframe中)時,我從index.php代碼中獲取meta標籤。當按下類似按鈕時,是否可以從iframe中獲取fb-meta標籤? – Nussi

+0

...現在我在index.php代碼中添加了一些og:meta標籤。現在它工作! :D THX! – Nussi

相關問題