2012-09-24 61 views
1

我在我的網站上添加了用戶端錯誤日誌記錄。有些時候,它記錄這樣那樣的錯誤,從socket.io代碼來:Socket.io TypeError:this.transport未定義

TypeError: this.transport is undefined 

的錯誤只是從Windows上的Firefox版本15的用戶看到。

在服務器端,我定義我的交通工具是這樣的:

this.io.configure(function(){ 
    self.io.set('transports', ['websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']); 
    self.io.set('log level', 0); 
}); 

Socket.io版本0.9.10。

你能告訴我什麼可能是這個錯誤的原因?

任何幫助表示讚賞。

回答

0

configure方法用於設置特定環境的配置。你是不是指定的環境中,這樣你就可以刪除configure回調函數,簡單地做:

this.io.set('transports', ['websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jsonp-polling']); 
this.io.set('log level', 0); 
+0

那麼這是否改變關於「this.transport是未定義」的問題什麼?無論如何感謝您的重播。 – Zanisimo

+0

是的。因爲您正在傳遞一個函數,其中需要一個字符串(環境的名稱)。請參閱https://github.com/LearnBoost/socket.io/wiki/Configuring-Socket.IO上的文檔(在頁面中搜索「io.configure」) – Blaise

+0

它聲明「當調用configure()時沒有環境它會在任何環境中運行。「 「this.transport is undefined」錯誤只發生在一些客戶端,而不是所有的時間。也可以通過兩個選項卡連接相同的客戶端,並且僅在關閉它們時發生錯誤。 – Zanisimo

相關問題