这篇文章给了一个很好地解决自动Retina图片rewrite的思路,可以参考。http://shauninman.com/tmp/retina/
这是做网站的人面临的比较有挑战的问题,虽然有很多解决方法,但是Server端的支持可以提升客户端的性能,避免动态修改DOM。
这篇文章给了一个很好地解决自动Retina图片rewrite的思路,可以参考。http://shauninman.com/tmp/retina/
这是做网站的人面临的比较有挑战的问题,虽然有很多解决方法,但是Server端的支持可以提升客户端的性能,避免动态修改DOM。
如果不修改图片的访问地址,这里会出现一个代理缓存错误的问题:
UpYun(或者别的CDN、云存储服务商) <--> 代理服务器(比如公司网络、校园网或者其他的代理服务器)<--> 用户
在这种情况下,某个非R屏用户访问了图片 http://demo.com/a.png ,这个时候图片会被缓存在这个代理服务器上,这个时候如果R屏用户再访问这张图片,代理服务器会直接返回已经缓存的没有2x的图片给用户,这种情况下这个方案就会失效。
反过来说,如果R屏的用户先访问了这个图片,普通用户再访问的时候,就会取到2x的图片,这个时候可能出现的情况就是页面的布局被撑坏或者图片被压缩导致诸如变形等的问题。
当然,如果中间如果没有这层代理服务器的话,又拍云的所有CDN节点实现这个方案是有价值的,但是现在很多大的局域网(比如公司、学校、网吧)甚至城域网为了节省出口流量、带宽以及加速,都会有这么一层代理在那里,在不确定其缓存策略的情况下(实际目前的缓存服务器基本都是根据url来做的),这个方案就实行起来就有会有上面的问题了。