2012-01-15 65 views
1

在我的網站上,我有超過100個頁面,現在我想爲每個頁面添加Facebook評論框。插入Url頁面到Facebook後,它給了我這個代碼添加到我的頁面,但我不想複製並過去到每個頁面,然後根據網頁名稱更改Url。在第二個代碼中,可以將網頁的實際網址替換爲根據頁面更改Facebook評論框的網址?

location.href 

這樣我就不必更改網址了。這甚至有可能嗎?我怎樣才能做到這一點?

Include the JavaScript SDK on your page once, ideally right after the opening <body> tag. 





<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> 

2.將您的插件的代碼放在您希望插件出現在您的頁面上的任何位置。

<div class="fb-comments" data-href="http://damnthisfunny.site40.net/1.html" data-num-posts="25" data-width="470"></div> 

我試過,但它不工作:

<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="+location.href+" data-num-posts="25" data-width="470"></div> 

</body> 

回答

1

data-href="+location.href+"你的問題在於你的這部分代碼。確保您使用的是完全合格的有效網址。

+0

在這種情況下,當前頁面的網址應該顯示出來。 – 2012-01-15 18:53:57

+0

這就是我之後的 – 2012-01-15 19:04:30

+0

您是運行服務器端腳本還是每個頁面都是靜態html文件? – DMCS 2012-01-15 19:12:02

1

我能夠解決這個使用一點點的JavaScript。我想要的地方出現我所用代碼中的註釋:

`<div id="fbcomments"></div> 
`<script> 
`var elemDiv = document.getElementById("fbcomments"); 
`var markup = ''; 
`markup += '<fb:comments href="' + location.href + '"></fb:comments>'; 
`elemDiv.innerHTML = markup; 
`FB.XFBML.parse(elemDiv); 
`</script> 

而不是在FB代碼:

`<div class="fb-comments" data-href="http://mysite.com/page" data-num-posts="20" data-width="538" data-colorscheme="dark"></div> 

一切都很好,至於評論張貼和代碼知道他們屬於哪一頁至。我遇到的唯一問題是:無論從上面使用哪個代碼,評論者的FB配置文件中的鏈接都會使用相同的/?fb_comment_id =查詢字符串鏈接回評論頁面。如果我使用FB代碼,評論將顯示,但如果我使用JavaScript代碼,評論將不會顯示?!我迷路了...

+0

我現在發現,即時通訊使用的代碼,當你按照從評論者的Facebook配置文件的鏈接,URL看起來像這樣的「http:\\ sitename.com/page/?querystring」(用於\\顯示的目的;) 所以我知道問題的評論沒有顯示時,下面的鏈接是因爲「/」後面的「網頁」的網址。使用facebook提供的代碼,這不會發生。有誰知道如何解決這個問題? – 2012-02-03 17:05:57

0

謝謝你(Enlil)!這是我對最後一個想法的返工,因爲我只在客戶端使用它:

<div id="fbc"></div> 
<script> 
    var elemDiv = document.getElementById("fbc"); 
    var markup = ''; 
    markup += '<div class="fb-comments" data-href="'+location.href+'" data-num-posts="5" data-width="682" style="margin-top:2em;"></div>'; 
    elemDiv.innerHTML = markup; 
    FB.XFBML.parse(elemDiv); 
</script> 
<script type="text/javascript" src = "//connect.facebook.net/bg_BG/all.js#xfbml=1&appId=xxxxxxxxxx"></script> 

成千上萬的感謝!

相關問題