我不擅长 JS :) 我正忙于将 Facebook 登录添加到我的网站 http://www.comehike.com在右上角,您可以看到 FB 登录按钮呈现,但如果您单击它,它不起作用。
我尝试将按钮放入页面正文中,它确实起作用了。所以我的感觉是一些 JS 问题导致了这个问题。我如何在 Firebug 或其他工具中调试它?我只是不熟练掌握这些技术。
如有任何帮助,我们将不胜感激。我真正想做的就是让标题中的 FB 登录按钮可点击 :)
谢谢, 亚历克斯
最佳答案
使用控制台(例如 Firebug),问题就很清楚了。
Uncaught ReferenceError: FB is not defined www.comehike.com:94
FB.login() called before calling FB.init(). all.js:3
我的猜测是您试图在 Facebook 脚本实际加载之前调用 FB.init()
。
第 94 行包含此代码:
window.onload=FB.init();cycleBan();
如果您尝试在 window
的 onload
事件,那是行不通的。上面的代码所做的是将FB.init()
返回的值设置给window.onload
处理程序,然后调用循环禁令()
。试试这个:
window.onload = function () {
FB.init();
cycleBan();
};
在阅读 Facebook API docs 的一些内容后编辑 ,看起来您没有将 appId
传递给 FB.init()
,我认为这是必要的:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId:'YOUR_APP_ID', cookie:true,
status:true, xfbml:true
});
</script>
<fb:login-button>Login with Facebook</fb:login-button>
因此您应该更改代码以使用相同的结构。
编辑 2 好的,所以我以前从未使用过 Facebook API - 只是再看一眼你的页面,看起来你已经在使用正确的基本模板,我猜您将 appId
作为 URL 参数传递。哦,好吧,显示我知道多少。
关于javascript - 调试 Javascript(和 Facebook 登录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908839/