【发布时间】:2012-10-11 15:49:34
【问题描述】:
我在我的页面上添加了一个 cmets 框: http://metallica-gr.net/news/welcome/welcome.html
但是当我添加评论时,即使选中了“发布到 Facebook”,该评论也不会显示在 Facebook 上。有时,当我取消选中并重新选中该框时,它会起作用。是错误还是我做错了什么?
【问题讨论】:
标签: facebook url comments publish
我在我的页面上添加了一个 cmets 框: http://metallica-gr.net/news/welcome/welcome.html
但是当我添加评论时,即使选中了“发布到 Facebook”,该评论也不会显示在 Facebook 上。有时,当我取消选中并重新选中该框时,它会起作用。是错误还是我做错了什么?
【问题讨论】:
标签: facebook url comments publish
您的源代码显示您有多个 fb-root div 标签并且没有应用 ID。
您的代码:
<div id="fb-root"></div>
<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/el_GR/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
删除一个fb-root div标签,然后创建一个新的fb应用程序,获取它的应用程序id并将其附加到连接url,即//connect.facebook.net/el_GR/all.js#xfbml=1
最终代码应如下所示:
<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/el_GR/all.js#xfbml=1&appId=<YOUR-APP-ID>";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
还有,为什么不使用 HTML5 代码作为插件呢?
<div class="fb-comments" data-href="{YOUR_SITE_URL}" data-num-posts="2" data-width="470"></div>
您的网站缺少一些重要的 OG 元标记,它们是 og:title、og:url、og:description、og:type 和 fb:app_id(对于 cmets 的审核是可选的)。
另外,og:image 引用的图片在两个维度上都应至少为 200 像素。更正它,它应该可以工作。
例如:
<meta property="og:title" content="Metallica-gr" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://metallica-gr.net/news/welcome/welcome.html" />
<meta property="og:image" content="{IMAGE_URL}" />
<meta property="og:description" content="{YOUR_SITE_DESCRIPTION}" />
<meta property="fb:app_id" content="{YOUR_APPLICATION_ID}"/>
不要忘记lint更改后的url,以便fb服务器缓存新的更新。
让我知道它是否有效。
【讨论】: