在浏览器中缓存图像后,通过请求图像来检查互联网连接不起作用
Checking of internet connection by requesting an image does not work after the image gets cached in the browser
在浏览器中缓存图像后,通过请求图像来检查互联网连接不工作。在一两次之后,这不起作用,因为图像存储在浏览器的缓存中,所以有什么解决方案吗?或者我需要检查连接是否可用?window.navigator.online
不可靠。所以寻找其他有趣可靠的解决方案
使用cache buster查询字符串。querystring强制浏览器检查服务器是否有新图像。
yourImageObj.src = "newImage.png?time=" + new Date().getTime();
使用XMLHttpRequest对象和POST协议。POST-request没有缓存。但这只适用于从同一域加载的图像(或任何其他资源)作为页面(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);
检查互联网连接的完美解决方案是给您的服务器一个ajax调用虚拟页面,并使该虚拟页面的条目在网络部分的应用程序缓存清单文件中,以便它可能不会被缓存到浏览器中,否则它会从浏览器中获取该文件并显示您在线,即使您处于离线模式
相关文章:
- 循环以检查数组中的最后一个图像
- 如何检查图像是否已加载
- Javascript检查图像是否在数组中
- 点击一个按钮,有没有一种方法可以检查Div内部的图像
- 在将图像保存到服务器之前检查图像大小
- 图像的尺寸,然后检查标准
- jQuery或Javascript检查是否加载了图像
- 检查图像是否正确加载了Quit
- 如何使用[Package CollectionFS]在插入图像之前检查宽度和高度
- 选择随机图像,检查是否在特定范围内并相应显示
- 检查上传的图像是否经过压缩
- 如何检查图像是否已注释
- 如何在JavaScript中检查高度和宽度图像
- Angular 2-检查图像url是否有效或已损坏
- ajax 返回带有循环的图像长度,检查最后一个循环
- 如何检查是否使用jQuery加载了图像
- 检查运行到CORS的图像是否存在
- jquery图像加载检查错误
- 检查拖放内容是否为图像
- 当源代码由js设置时加载检查图像