2

我想根据用户屏幕的大小向客户端提供图像,例如如果我有高分辨率图像,并且用户想在移动设备上查看它,我不想发送全高清图像,而是我想发送缩小到用户设备尺寸的图像,这将提高低带宽设备的加载速度

这里有一个解决方案自适应图像检测访问者

屏幕尺寸并自动创建、缓存和提供适合设备的网页嵌入 HTML 图像的重新缩放版本。它旨在与响应式设计一起使用并与 Fluid 结合使用图像技术。(来自给定的链接)

我看到了这种基于php&apache的服务器的解决方案,是否有针对具有基于 ruby​​ 的服务器的 Web 应用程序的解决方案?一个gem可能...谢谢

4

2 回答 2

5

媒体查询仅适用于 CSS 背景图像。

顺便说一下,自适应图像之类的解决方案并不难实现。

他们只是动态地提供图像来代替 Web 服务器,缓存经过调整的图像以加快处理速度并避免浪费资源。

根据保存请求设备分辨率的 cookie 的值来调整和缓存图像的大小。

假设您在 Rails 中,请执行以下步骤:

  1. 将此 javascript 行附加到<head>布局中的部分:

    <script>document.cookie='resolution='+Math.max(screen.width,screen.height)+'; path=/‘;</script>

  2. 添加AdaptiveImagesController一个动作adapt_and_serve

  3. 让我们adapt_and_serve读取/缓存/调整并服务(带有遥远的未来到期标头)与每个请求对应的文件。

  4. 添加规则以routes.rb捕获需要调整的图像请求并将它们路由到 AdaptiveImagesController#adapt_and_serve

于 2013-02-28T04:06:48.377 回答
-1

我认为服务没有什么特别的adaptive images。这取决于您如何设置前端:您用于media queries解析用户的屏幕尺寸并决定图像大小。您可以肯定地为您的目的使用 Rails 框架。有许多响应式设计实现与 Rails 配合得很好 - Twitter Bootstrap是一个著名的实现。

于 2013-01-11T20:03:05.180 回答