將圖像緩存在瀏覽器中後,通過請求圖像檢查Internet連接不起作用。經過一兩次,這不工作,因爲圖像存儲在瀏覽器的緩存中,所以有沒有解決方案?或者我需要檢查連接是否可用? window.navigator.online不可靠。所以尋找其他有趣和可靠的解決方案。將圖像緩存在瀏覽器中後,通過請求圖像來檢查Internet連接不起作用
回答
檢查互聯網連接的完美解決方案是給一個Ajax調用服務器的虛擬頁面,並作出這樣的假網頁的應用程序緩存清單文件中的網絡部分項,以便它可能無法得到緩存在瀏覽器中,否則它會從瀏覽器獲取該文件,並顯示爲在線狀態,即使您處於離線狀態。
使用高速緩衝存儲器查詢字符串。查詢字符串強制瀏覽器檢查新服務器的新映像。
yourImageObj.src = "newImage.png?time=" + new Date().getTime();
感謝您的回覆 – deepmoteria
使用XMLHttpRequest對象和POST協議。 POST請求不會被緩存。但是,這隻有在圖像(或任何其他資源)從頁面加載(XMLHttpRequest限制)的相同域加載。
var xhr = new XMLHttpRequest();
xhr.open("POST", "url_for_image_file", true);
xhr.onreadystatechange = function() {
if(xhr.readyState === 4)
if(xhr.status!==200) {
// no image loaded
alert("fail connect to server");
}
else {
alert("connection success");
}
};
xhr.send(null);
它還假定POST請求以相同方式處理作爲GET請求,這可能並非如此。 –
@Damien_The_Unbeliever。在我用IIS和Apache的測試中,這個工作。但你是對的。 –
感謝您的回覆,我會盡力實施它。 – deepmoteria
- 1. 後負荷:檢查如果圖像是在瀏覽器緩存
- 2. ,如果圖像是在瀏覽器緩存中的JavaScript檢查
- 3. 在加載外部圖像之前檢查瀏覽器緩存
- 4. 在瀏覽器上緩存圖像
- 5. 將圖像存儲在laravel的存儲文件夾中,並通過http請求獲取圖像不起作用
- 6. 瀏覽器圖像緩存規則
- 7. 強制瀏覽器緩存圖像
- 8. 使瀏覽器緩存圖像
- 9. 將neo4j圖形保存在瀏覽器中作爲圖像
- 10. 帶有URL圖像源的Web瀏覽器圖像緩存
- 11. 未從瀏覽器緩存中檢索圖像 - gwt upload
- 12. 在瀏覽器緩存中存儲圖像 - 加載圖像的最佳方式
- 13. Ng圖像緩存不起作用
- 14. asp.net Internet Explorer圖像緩存?
- 15. Php通過請求與圖像的回波檢索圖像
- 16. 通過jQuery檢測瀏覽器緩存
- 17. 圖像請求將通過ControllerFactory
- 18. 如何防止瀏覽器重試POST請求失敗(並檢查Internet連接)?
- 19. 利用瀏覽器緩存 - CSS /圖像的過期/緩存控制
- 20. TIFF16圖像看起來在Windows文件瀏覽器不同,MATLAB
- 21. Android:FTP連接不起作用,無法通過通用圖像加載器顯示圖像
- 22. 圖像到瀏覽器不保存
- 23. ASP.NET MVC:使動作的瀏覽器緩存圖像
- 24. 如何圖像緩存在瀏覽器中
- 25. 使圖像在瀏覽器中看起來正確並打印?
- 26. 從ajax請求取消鏈接圖像不起作用
- 27. 從JSP或Javascript中的瀏覽器緩存中清除圖像
- 28. 取消在HTML5的瀏覽器單一的圖像請求
- 29. Internet Explorer 8的圖像瀏覽問題
- 30. 來自HttpHandler的圖片不會在瀏覽器中緩存
你需要它有多可靠?當他們從網絡上斷開連接時,是否需要預測未來2秒的用戶行爲? (連接超出了您的控制範圍 - 在大多數情況下無法知道答案,因爲答案可能會改變,然後才能採取行動) –