我想根据用户屏幕的大小向客户端提供图像,例如如果我有高分辨率图像,并且用户想在移动设备上查看它,我不想发送全高清图像,相反,我想发送缩小到用户设备尺寸的图像,这将提高低带宽设备上的加载速度
有一个解决方案 here
自适应图像会检测访问者的屏幕尺寸,并自动创建、缓存和提供适合设备的网页嵌入 HTML 图像的重新缩放版本。它旨在与响应式设计一起使用,并与流体图像技术相结合。(来自给定的链接)
我看到基于 php
和 apache
的服务器的此类解决方案,是否有针对具有基于 ruby 的服务器的 Web 应用程序的解决方案? gem 可能是...谢谢
最佳答案
媒体查询仅适用于 CSS 背景图像。
顺便说一下,类似自适应图像的解决方案并不难实现。
它们只是代替 Web 服务器动态提供图像,缓存适应的图像以加快处理速度并避免浪费资源。
根据保存请求设备分辨率的 cookie 的值来调整图像大小和缓存。
假设您正在使用 Rails,请执行以下步骤:
将此 javascript 行附加到
<head>
布局中的部分:<script>document.cookie='resolution='+Math.max(screen.width,screen.height)+'; path=/‘;</script>
添加
AdaptiveImagesController
采取行动adapt_and_serve
。让
adapt_and_serve
读取/缓存/适应并提供与每个请求相对应的文件(使用遥远的 future 过期 header )。将规则添加到
routes.rb
捕获需要调整的图像请求并将其路由到 AdaptiveImagesController#adapt_and_serve
关于ruby-on-rails - 基于 ruby 的服务器的自适应图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14285473/