我试了用onload事件,还是不行啊,貌似总不被触发,代码如下:function tryIp() { var signature = + new Date(); var src = "http://" + Ip + imgsrc + "?" + signature; var ImageObject = new Image(); ImageObject.src= src; ImageObject.onload = imgLoaded; }function imgLoaded(img) {}imgLoaded 一直没被调用,事实上网卡已经重启完很久了,太奇怪了。不知道是什么原因啊?
有参不能这样调用 function tryIp() { var signature = + new Date(); var src = "http://" + Ip + imgsrc + "?" + signature; var ImageObject = new Image(); ImageObject.src= src; ImageObject.onload = function () {imgLoaded(ImageObject)); }function imgLoaded(img) { alert(img); }
http://www.3http.com/1pic.jpg
改成
http://www.3http.com/1pic.jpg?x=1111注意后面的1111改成随机数或时间,这样每次读取地址不同,就不会产生读缓存的情况下,你上面的问题就是缓存造成的。
var signature = + new Date();
var src = "http://" + Ip + imgsrc + "?" + signature;
var ImageObject = new Image();
ImageObject.src= src;
ImageObject.onload = imgLoaded;
}function imgLoaded(img) {}imgLoaded 一直没被调用,事实上网卡已经重启完很久了,太奇怪了。不知道是什么原因啊?
function tryIp() {
var signature = + new Date();
var src = "http://" + Ip + imgsrc + "?" + signature;
var ImageObject = new Image();
ImageObject.src= src;
ImageObject.onload = function () {imgLoaded(ImageObject));
}function imgLoaded(img) {
alert(img);
}
http://www.etherdream.com/funnyscript/ping/ping.html
http://www.etherdream.com/funnyscript/ping/ping2.html原理很简单。访问图片的时间与onerror发生时间之差。
ImageObject.src= src;
ImageObject.onload = function () {imgLoaded(ImageObject));
改成
ImageObject.onload = function () {imgLoaded(ImageObject));
ImageObject.src= src;