我想根据用户屏幕的大小向客户端提供图像,如果我有高分辨率图像,并且用户想要在移动设备上查看它我不想发送全高清相反,我想将缩小的图像发送到用户的设备维度,这将提高低带宽设备的加载速度
有一个解决方案here一个自适应图像检测访问者的屏幕大小,并自动创建,缓存和提供设备适当的重新缩放版本的网页嵌入式HTML图像。它适用于响应式设计,并与流体图像技术结合使用。(来自给定链接)
我看到php
&基于apache
的服务器,是否有基于ruby服务器的Web应用程序的解决方案? gem
可能是......谢谢
答案 0 :(得分:5)
媒体查询仅适用于CSS背景图片。
顺便提一下,像解决方案这样的Adaptive-Images并不难实现。
他们只是动态地提供图像来代替Web服务器,缓存经过调整的图像以加快处理速度并避免浪费资源。
根据保存请求设备解析的cookie的值调整和缓存图像。
说你在Rails中,请执行以下步骤:
将此javascript行附加到布局中的<head>
部分:
<script>document.cookie='resolution='+Math.max(screen.width,screen.height)+'; path=/‘;</script>
添加AdaptiveImagesController
动作adapt_and_serve
。
让adapt_and_serve
读取/缓存/适应并提供与每个请求相对应的文件(使用远期的exipiration标头)。
向routes.rb
添加规则以捕获需要调整的图像请求并将其路由到AdaptiveImagesController#adapt_and_serve
答案 1 :(得分:-1)
我认为服务adaptive images
没有什么特别之处。这取决于您如何设置前端:使用media queries
来解析用户的屏幕尺寸并确定图像大小。您可以确保使用Rails框架。 Rails有许多响应式设计实现正常工作 - Twitter Bootstrap是一个着名的。