2011-10-15 88 views
4

我在其網站上顯示來自其供稿小部件的Twitter供稿。有時小部件喜歡不顯示任何信息。我認爲這是因爲API超負荷。無論如何,在Twitter無法加載我的提要的情況下,是否有任何已知的方式顯示錯誤消息?有其他人遇到過這些問題嗎?Twitter小部件並不總是填充

+0

我試圖調試你的頁面,看看發生了什麼事情的微博和偶然發現另一個錯誤。在fbaccess.js第10行中,if(x.substr(0,12)!='access_token'){'有錯誤。 'x = get_cookie(「access_token」);'如果沒有cookie,則將x設置爲'null'。然後'x.subtr'爆炸,因爲x不是一個字符串對象。應該改變它,'if(x && x.substr(0,12)!='access_token'){' – jatrim

+0

微博小工具框架仍然存在與空tweet divs?或者當它停止顯示信息時,有沒有tweet div? –

+0

小部件不會插入任何divs或iframe,當它失敗時 – Felix

回答

2

首先爲你的操作系統使用一個合適的http記錄代理(如果你在windows上,Fiddler2太棒了),將F5的頁面移到你遇到錯誤。

過濾日誌爲主機widgets.twimg.com或api.twitter.com ...這個診斷故障點,因爲:

  1. 如果JS(或CSS)請求widgets.twimg.com失敗(查找404或截斷的文本),然後JavaScript無法獲取。因爲文件不可能是靜態的。
  2. 如果api.twitter.com請求丟失,那麼JavaScript無法運行。
  3. 如果發生api.twitter.com請求,但響應失敗(錯誤的響應代碼或響應看起來很亂),那麼twitter api無法爲您提供該提要。

對於在javascript中檢測1,可以使用超時檢測加載失敗,並檢查加載的onload(簡單檢查是否存在window.twttr - 但不是一個很好的測試,因爲它被設置爲JavaScript的頂部,所以只確認JavaScript語法是有效的,並開始運行)。 (可能需要onreadystate來檢測IE的負載?)

<script src="http://widgets.twimg.com/j/2/widget.js" onload="twitterloaded()"></script> 

對於檢測2,使用調試器運行頁面。

對於3,從快速查看代碼,看起來像代碼重試請求到twitter API(你可能想看看api的配置設置),它看起來像有變量來檢查是否一切都在運行,例如TWTR.Widget.isLoaded_isRunning_hasOfficiallyStarted

相關問題