2012-09-30 66 views
2

有什麼方法可以延長FireFox加載項中Request對象的默認超時時間嗎?在某些頁面上,看起來我們擴展中的跨站點請求超時,並且沒有與請求模塊關聯的發佈選項,允許延長超時。 xhr對象需要擴展權限,因此如果可能的話,我們寧願獨佔使用Request對象。延長請求模塊的超時時間

此外,什麼是默認請求超時設置?

+3

「請求」模塊沒有特定的超時時間,而是整個Firefox網絡的大量不同超時。您感興趣的是哪一個,請求在DNS解析失敗,或建立服務器連接,還是等待服務器響應? –

+0

我相信導致問題的超時是「等待服務器響應」。我需要知道默認值以及如何從我的插件代碼中對其進行更改。 –

+0

@WladimirPalant我對「等待服務器響應」部分感興趣。 – timgeb

回答

2

使用請求模塊無法更改默認超時。 Request使用xhr模塊,但不提供對timeout屬性的訪問。

可以在XMLHttpRequest文檔看到timeout屬性默認爲零,因此它不應該暫停,但弗拉基米爾指出有不同的網絡層次超時,你也運行到。

如果您想提出拉取請求,我相信SDK團隊會考慮接受Request模塊中的超時參數。例如

get timeout() { return request(this).timeout; }, 
    set timeout(value) { request(this).timeout = validateSingleOption('timeout', value); }, 

(請注意,您不能擴展請求類,因爲它是一個使用命名空間)

我不認爲這種變化對請求模塊將真正解決您的網絡超時問題,因爲它似乎在另一個級別超時。