问题是这样的:
客户端向服务器请求很多小图,然后将其拼接成一幅地图。如果服务器还未生成所需的资源,而客户端已将该图片节点增加到Div中,这样,Div显示的图片就会有个空,显示不完全。于是我就通过Ajax方式,一个个图片进行请求。这有请求成功返回后,我才会生成图片节点加入到Div, 这样可以保证完整的图片显示。
但,每个图片的显示都需要等待服务端返回后才进行,明显的感觉就是慢。有没有一种方式,可以预先判断所需的请求已经在缓存中,可以直接使用,而不在缓存中的图片,则重新向服务器发送请求。

解决方案 »

  1.   

    如果 Ajax 请求的URL(包话get参数)一样的话,浏览器会自动加载 缓存的东西,也就是根本不用关心这个问题,,慢和缓存无关,,你生成什么图片,可以的话直接在 JS或Flash 生成就好了.
      

  2.   

    比如有100个小图
    给每个图都增加onload事件
    onload调用函数给全局变量x+1
    判断当前已经载入多少张图片
    全局变量x保存图片张数
    当x=100时表示已经载入完毕
    然后就可以执行后续
      

  3.   

    有没有尝试过加HTTP Header呢?可能是个价格便宜量又足的解决方法。
    具体去查一下etag,last-modified和expires这三个Header。要看你具体的工作方式了,生成的图片是静态的还是通过某个某个处理器每次生成的。