我在我的基于Django的网站上设置了django-facebookconnect,它运行良好 - 登录,发布到用户的新闻源等 - 除了在Firefox中登录失败的事实。
当您点击“与Facebook连接”按钮时,它会弹出窗口供用户输入他们的Facebook登录信息,就像正常一样,但是原始页面不是静坐,而是进入错误页面。弹出的窗口是空白的
我已将问题追溯到facebookconnect的views.py文件。 facebook_login函数,具体来说。以下两行该功能,更具体地说:
user = authenticate(request=request)
if user is None or not user.is_active:
# generate error message and send user to error page
我已经检查过,事实证明在Firefox中,用户是无。清除浏览器的会话/ cookie /缓存没有帮助,正如我所说,这个问题在其他浏览器中不会发生。
这是你们之前遇到过的问题吗?一个充满活力的谷歌搜索没有透露任何东西。我很感激您提供的任何指导。感谢。
答案 0 :(得分:2)
问题解决了。由于我不清楚的原因,将facebookconnect JS包括({%facebook_js%}和{%initialize_facebook_connect%})到jQuery和我自己的JS的包含之后,而不是之前,修复了问题。
为了记录,以及以后人们可能会使用Google偶然发现这个错误,我得到的错误是“FB.HiddenContainer.get()为空或不是对象”。
答案 1 :(得分:1)
为了让它在Firefox和Chrome中运行,我必须将它们保存在标题中(对于chrome)和网站上的最后一个脚本(对于Firefox)。
我得到的错误是:FB.HiddenContainer.get()。
虽然我不断得到它,但它有效:)
答案 2 :(得分:0)
我有同样的事情 - 让我发疯!使用来自Google的jsapis的protoype和scriptaculous。感谢您的帖子,我通过将代码更改为:
来完成所有工作<script language="JavaScript1.2" type="text/javascript" src="http://www.google.com/jsapi"></script>
<script language="JavaScript1.2" type="text/javascript" >
//<![CDATA[
google.load( "prototype", "1" );
google.load( "scriptaculous", "1" );
//]]>
</script>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
<script language="JavaScript1.2" type="text/javascript">
//<![CDATA[
FB_RequireFeatures(['Api', 'Base', 'CanvasUtil', 'Common', 'Connect', 'XdComm', 'XFBML'], function()
....
我希望这可以帮助别人,就像你的帖子帮助我一样!