Facebook评论显示警告“网站无法访问”,但仍然有效

时间:2011-11-04 19:43:19

标签: facebook comments

我正在开发一个实施“Facebook评论”的网站。该网站的一个特殊功能是我计划有许多页面实现“facebook评论”,这些页面是通过服务器端编程自动生成的。

理论上这应该没问题......我包含了以下为我生成的javascript代码:

(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=MY_APP_ID";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk')); 

我包含的Html标签如下:

<div class="fb-comments" data-href="www.myurl.com/user/{{user.id}}" data-num-posts="20" data-width="500"></div>  

关于上面的内容,你会注意到我使用的是python-django,因此在双花括号中有一个服务器端变量。这允许我在许多自动生成的页面上具有相同的功能。

Everthing似乎完美无缺。每个页面都有各自的Facebook评论实现....除此之外,我收到这条恼人的警告信息“警告:(我的网址)无法访问。”显然它正在被触及,因为它正常工作!那么,为什么它会显示警告信息,我该如何摆脱它呢?

我尝试添加一大堆元属性,但没有效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:og="http://ogp.me/ns#"
  xmlns:fb="http://www.facebook.com/2008/fbml" version="XHTML+RDFa 1.1">

<head>
<meta property="fb:admins" content="<MY_FB_ID>" />
<meta property="og:site_name" content="bowlofgoals" />
<meta property="fb:app_id" content="<MY_APP_ID>" />
<meta property="og:title" content="Bowl of Goals"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="<URL>"/>
<meta property="fb:moderator" content="<MY_FB_ID>" />

另外,请注意我还在网站的根文件夹中实现了facebook connect。因此,我的应用设置中的“网站网址”是根文件夹,而不是实施Facebook评论的子网页。

所有功能都运行良好....所以我应该怎么做才能摆脱那条烦人的警告信息?

非常感谢您对此提供的任何指导。

标记

2 个答案:

答案 0 :(得分:1)

考虑检查您的网页是否存在javascript错误。我遇到了和你一样的问题,无论我添加了什么标签,无论我做了什么,插件都无法正常工作。

仔细观察Firebug之后,我注意到我的模板中有一些滑块脚本导致了一个javascript错误。删除了那个脚本,现在一切都像魅力一样。

我认为错误打破了我的所有javascript,包括Facebook,这就是插件无效的原因。

答案 1 :(得分:1)

我通过将 data-href 更改为我在使用Facebook登录站点网址的网站中设置的值来消除该错误。我在我的网站网址中有http://domain.org/contest/,而我的数据href http://domain.org/contest

但是我确实遇到了与你的问题相同的问题,我的评论插件位于一堆页面中,其中网址是动态的,所以类似于http://domain.org/contest/id/13131http://domain.org/contest/id/4848,但我不能放置其中任何一个网址在我的 data-href 中。我必须改为http://domain.org/contest才能摆脱这个错误。