我正在开发一个实施“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评论的子网页。
所有功能都运行良好....所以我应该怎么做才能摆脱那条烦人的警告信息?
非常感谢您对此提供的任何指导。
标记
答案 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/13131或http://domain.org/contest/id/4848,但我不能放置其中任何一个网址在我的 data-href 中。我必须改为http://domain.org/contest才能摆脱这个错误。