2013-05-16 45 views
1

我有一個使用了Facebook的Javascript API和安裝爲Facebook頁面上的標籤非常簡單的網頁。當頁面被加載時,它在調用通常的Facebook init代碼之後所做的唯一的事情是聽取auth.authResponseChange,然後根據用戶是否登錄來顯示/隱藏各種元素。什麼可能導致基於Django的Facebook頁面選項卡需要2分鐘才能加載?

如果我打開這個網頁,通過HTTP或HTTPS在一個普通的瀏覽器會話,一切都很好。頁面加載速度相當快。

但是,如果我在Facebook上加載頁面標籤,它掛起了大約兩分鐘。 Chrome告訴我這個等待是因爲「等待」我的頁面。但是,如果我觀察訪問日誌,直到頁面顯示前纔看到訪問請求。因此,Facebook似乎掩蓋了幕後的真實情況。

enter image description here

回答

0

我開罰單與Facebook,他們回答說,這個問題是由於我的代碼和可重複性與含有signed_response任何職務。

多撓頭和實驗後,我發現,添加以下兩行的觀點,即處理這個頁面固定它:

if 'signed_request' in request.POST: 
    pass 

所以很明顯的Django 1.3.1持有HTTP會話打開,直到您實際上讀取一些POST值。哎喲。

相關問題