我不擅長與JS :)我搞亂添加Facebook登錄到我的網站在http://www.comehike.com這裏在右上角,你可以看到FB登錄按鈕呈現,但如果你點擊它,它不起作用。調試Javascript(和Facebook登錄)
我試着把按鈕放入頁面的正文,它實際上工作。所以我的感覺是它的一些JS問題導致了這個問題。如何在Firebug或其他工具中調試它?我對這些技術的操作並不流暢。
任何幫助,將不勝感激。我真正想要做的是使FB登錄按鈕點擊能夠在頭:)
謝謝, 亞歷克斯
我不擅長與JS :)我搞亂添加Facebook登錄到我的網站在http://www.comehike.com這裏在右上角,你可以看到FB登錄按鈕呈現,但如果你點擊它,它不起作用。調試Javascript(和Facebook登錄)
我試着把按鈕放入頁面的正文,它實際上工作。所以我的感覺是它的一些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()
(也cycleBan()
?),這是行不通的。以上代碼的作用是將值返回由FB.init()
設置爲window.onload
處理程序,然後調用cycleBan()
。試試這個:讀了一下Facebook API docs後
window.onload = function() {
FB.init();
cycleBan();
};
編輯,它看起來像你不及格的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參數。哦,這表明我知道多少。
在Firefox上,您可以使用Firebug插件(當您在問題中使用該名稱時,我猜測您知道它)。只需轉到頁面,單擊底部狀態欄中的Firebug圖標,然後使用「腳本」選項卡轉到您的腳本代碼,設置斷點以及單步執行。
您也可以使用內置於Chrome,Safari,Opera甚至IE8之後的開發工具來完成此工作。 (在早期版本的IE中,您可以使用免費版的VS.Net進行調試。)
所有這些的一個好處是,您可以右鍵單擊一個元素(如您的按鈕)並選擇「檢查元素」直接查看有關它的信息。在Chrome上至少(也可能是其他)包括分配給它的事件處理程序,這使得查找事物變得很容易。
如果你通過了不存在的FB應用關鍵的init()那麼只有你
確保「調用FB.init()之前的FB.login()稱爲」得到的錯誤,你有沒有一直在做同樣的事情。
Firefox的Firebug? – zengr 2011-02-05 18:47:52
是的,我正在嘗試使用它,但它很難開始使用...也許它只是我...非常混亂,我不知道該找什麼lol – Genadinik 2011-02-05 18:50:00
那麼固定它? `window.onload`業務? – 2011-02-05 19:16:49