我正在做與JSONP長時間輪詢和Firefox不斷彈出「加載」微調,使頁面看起來像它還沒有完成加載。有沒有辦法抑制這一點?JSONP長輪詢總是加載
我被告知Orbited團隊有黑客壓制這個,但通過Orbited.js代碼查找我無法弄清楚他們是什麼。任何幫助將不勝感激。
我正在做與JSONP長時間輪詢和Firefox不斷彈出「加載」微調,使頁面看起來像它還沒有完成加載。有沒有辦法抑制這一點?JSONP長輪詢總是加載
我被告知Orbited團隊有黑客壓制這個,但通過Orbited.js代碼查找我無法弄清楚他們是什麼。任何幫助將不勝感激。
這是一個簡單的修補程序。所有你所要做的就是開始用的setTimeout您的輪詢請求..
下面是一些代碼,我使用。它使用jQuery的,但我相信你能弄清楚什麼你需要並使用你的圖書館來做同樣的事情。
<script type="text/javascript">
function poll(){
$.getJSON('/updates', function(json){
//reconnect since we successfully received data and disconnected
poll();
//add something here to do whatever with the recieved data
});
}
/*call the poll function after document has loaded with setTimeout
if called before the document finishes loading completely it will
cause a constant loading indication*/
setTimeout(poll, 1);
</script>
我沒有答案,但我有一個建議的選擇。其他人只是問了一個類似的問題和here's my answer。
基本上,如果您擁有服務器的控制權,最簡單的解決方案是使用跨源資源共享標頭來確定跨域XMLHttpRequest並在舊瀏覽器上回退到JSONP。
我提供了CORS一個相當完整的兼容性表(每userscript的瀏覽器)爲我聯繫到答案的一部分,以及更普遍的一個on Wikipedia。
這是最好的解決方案,我用$甚至嘗試(文件)。就緒或doc.addEventListener(「DOMContentLoaded」,...),但除非你等待至少1毫秒,它不會工作。乾杯 – 2012-05-12 12:30:50