[英]change the url in facebook comments code?
在我的網站上,我有200多個頁面,我想在我的網站上添加Facebook評論功能。 我遇到的問題是,我必須更改每個頁面的代碼(URL)。 我不想更改每個頁面的代碼。 如果您可以看到第二個包含Url的代碼,那么我可以在其中添加諸如location.href
之類的方法,以便它可以使用頁面的當前url。 我可以這樣做嗎? 我不在乎它是php,javascript還是其他任何東西。
將JavaScript SDK一次包含在您的頁面上,最好在<body>
標記之后。
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=324524777119";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
將插件代碼放置在您希望插件出現在頁面上的任何位置。
<div class="fb-comments" data-href="Url Goes Here" data-num-posts="2" data-width="470"></div>
這可用於獲取初始加載時的頁面網址。
<?php
function get_current_page()
{
$page_url = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
$page_url .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
return $page_url;
}
?>
<div class="fb-comments" data-href="<?php echo get_current_page(); ?>" data-num-posts="2" data-width="470"></div>
如果在初始頁面加載后更改了url,則需要調用FB.XFBML.parse()來重新加載注釋框。 這對於更改狀態時不進行整頁重新加載的ajax網站很有用。
一個簡單的建議是:
<script type="text/javascript">
document.write('<div class="fb-comments" data-href="' + document.location.href + '"
data-num-posts="2" data-width="470"></div>');
</script>
您可以使用div
,然后使用JavaScript中的innerHTML
方法動態創建其內容,它將作為您的fb-comments
標簽。 您可以使用document.location.href
獲得當前頁面。
動態創建fb-comments
標記並將其呈現在div
,您需要重新解析其內容,以便解釋XFBML。 您可以使用FB.XFBML.parse()
方法來實現。
var mydiv = document.getElementById('myCommentsDiv');
mydiv.innerHTML =
'<div class="fb-comments" data-href="' + document.location.href + '" data-num-posts="2" data-width="470"></fb:comments>';
FB.XFBML.parse(mydiv);
這個為我工作:
我這樣定義URL:
define('URL_FB','http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
然后我這樣回應:
<div class="fb-comments" data-href="<?php echo URL_FB; ?>" data-width="470" data-num-posts="10" data-colorscheme="dark"></div>
希望足夠清楚。 :)
編輯:在這里找到解決方案: 每個ajax調用后不同的Facebook評論框
您必須完全刪除該框並將其放回並調用FB.XFBML.parse()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.