Rob正確指出我的意見是錯誤的。 Infact我嘗試了一下他提到的示例,我發現奇怪的事情發生在不同的瀏覽器中瀏覽同一頁面。 如果我運行示例並通過谷歌瀏覽器瀏覽它,它按預期工作。 瀏覽ie ie 8不起作用。
在腳本初始化之後移動Fb:按鈕,它也會在ie 8中運行。
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Log In
</h2>
<div id="fb-root">
</div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ appId: '<%: Facebook.FacebookContext.Current.AppId %>', status: true, cookie: true, xfbml: true });
FB.Event.subscribe('auth.sessionChange', function (response) {
if (response.session) {
// A user has logged in, and a new cookie has been saved
alert("right");
window.location.reload();
} else {
alert("wrong");
// The user has logged out, and the cookie has been cleared
}
});
</script>
<p>
<fb:login-button></fb:login-button>
</p>
</asp:Content>
我原來的答覆: 我相信你的問題是不是你的錯。 看來這些例子已經過時。你提到的那個是建立在從sdk的最後一個版本刪除的頂級類上的。 最近,sdk已經完全更改,代碼示例未更新。 你可以在這裏看到,對於一個你提多少變化已經取得:
http://facebooksdk.codeplex.com/SourceControl/list/changesets
例如
- 更新CSASPNETWebsiteregistrationForm使用 Request.GetFacebookSignedRequest()方法 使用FacebookAuthorizer代替 授權人
如果你想看看這個例子的工作,我認爲你應該刪除引用到SDK的最後構建和引用舊之一。
我不raccomand它。
謝謝你的回覆傑克,我不完全確定這是問題 - 雖然項目不是很複雜,並且根本不給出任何參考錯誤。事實上,應用程序的工作方式應該如此,除非登錄不存儲。症狀完全符合我在原始文章中添加的鏈接中提到的問題。 – Rob 2011-03-02 11:53:21
有趣!我使用的是Firefox,但無法安裝Chrome來測試它,但使用IE7進入登錄頁面會導致頁面不斷刷新。 Facebook登錄彈出似乎永遠不會解決。自然,登錄不起作用。我嘗試將facebook按鈕切換到腳本之後,但在Firefox中仍然沒有運氣。再次感謝,非常感謝您的幫助 – Rob 2011-03-02 15:54:22
此外,使用您的代碼,我不斷收到「正確」的警報...... – Rob 2011-03-02 16:06:22