之前是通过 new Image() 一个新对象来解决的loading事件问题,但总是有些浪费性能,而且实际测试过程中表现并不是很好,会出现浏览器兼容性问题。
而且我马上要写的解决办法的局限性也很大,必须要求图片是通过 base64 格式传输到客户端。
base64 格式的图片尾部会出现0-3个 ‘=’ ,而 ‘=’ 之前也会出现若干A,具体为什么,可以去查百度百科 :“base64” 。
而就是这个 ‘A’ ,根据base64 的规定,只要是4的倍数就可以了,貌似 ‘A’ 的使命也就是补齐。
所以呢,只要在每次请求到的图片的结果中在 ‘=’ 前加随机的4的倍数的 ‘A’ 就可以完美避免 WebKit 内核浏览器的缓存 不触发 image.loading 事件的bug了。
ok!