Адаптивные изображения для серверов на основе ruby
Я хотел бы доставлять изображения клиенту в зависимости от размера экрана пользователя, например, если у меня есть изображение с высоким разрешением и пользователь хочет просматривать его на мобильном телефоне, я не хочу отправлять изображение в полном HD, вместо этого Я хочу отправить уменьшенное изображение до размера устройства пользователя, что увеличит скорость загрузки на устройствах с низкой пропускной способностью
Есть решение для этого здесь
Adaptive Images определяет размер экрана вашего посетителя и автоматически создает, кэширует и доставляет соответствующие масштабированные версии устройства встроенных HTML-изображений вашей веб-страницы. Оно предназначено для использования с адаптивными дизайнами и в сочетании с методами Fluid Image. (Из приведенной ссылки)
Я вижу решения такого рода для php
& apache
на основе серверов, есть ли решение для веб-приложения, в котором есть серверы на основе ruby? gem
может быть... Спасибо
2 ответа
Медиа-запросы будут работать только с фоновыми изображениями CSS.
Между прочим, решение Adaptive-Images не так сложно реализовать.
Они просто динамически подают изображения вместо веб-сервера, кэшируя адаптированные изображения, чтобы ускорить процесс и избежать потери ресурсов.
Размеры изображений и кэшируются в зависимости от значения файла cookie, который содержит разрешение запрашивающего устройства.
Сказав, что вы находитесь в Rails, сделайте следующее:
Добавить эту строку JavaScript к
<head>
раздел в вашем макете:<script>document.cookie='resolution='+Math.max(screen.width,screen.height)+'; path=/‘;</script>
добавить
AdaptiveImagesController
с действиемadapt_and_serve
,Давайте
adapt_and_serve
читать / кэшировать / адаптировать и обслуживать (с заголовком завершения в далеком будущем) файл, соответствующий каждому запросу.Добавить правило в
routes.rb
перехватывать запросы изображений, которые необходимо адаптировать, и направлять их в AdaptiveImagesController#adapt_and_serve
Я думаю, что ничего особенного в подаче adaptive images
, Это зависит от того, как вы настроили свой интерфейс: вы используете media queries
разрешить размеры экрана пользователя и определять размер изображения. Вы можете использовать Rails Framework для ваших целей наверняка. Существует множество адаптивных реализаций дизайна, которые прекрасно работают с Rails - Twitter Bootstrap - известная из них.