showyweb/fast_background
Composer 安装命令:
composer require showyweb/fast_background
包简介
Интеллектуальный JavaScript загрузчик изображений для веб-проектов (поддерживает WebP и IntersectionObserver)
README 文档
README
В ближайшем будущем этот репозиторий будет архивирован. Нативная поддержка браузерами HTML атрибутов srcset и loading="lazy" лучше справляется с загрузкой большого количества картинок.
FastBackground - это интеллектуальный JavaScript загрузчик изображений для веб-проектов, который позволит вам сильно ускорить загрузку фоновых изображений для блочных элементов, а также элементов с тегом img.
-
Поддерживает автоматическую конвертацию в WebP, если браузер клиента не поддерживает новый формат изображения, то используется старый.
-
Загрузчик использует Intersection Observer API (если он поддерживается браузером) для экономии трафика.
-
Вам больше не нужно будет делать несколько версий для разных экранов, к примеру, 1X, 2X и т. д.
-
Fast Background в процессе загрузки страницы автоматически рассчитает оптимальный размер изображения на основе размера контейнера, плотности пикселей и CSS свойства background-size и создаст версию в кэше на вашем сервере, в котором старые изображения в зависимости от настроек периодически будут удаляться.
-
Также для предотвращения задержки используется двухуровневое кэширование на стороне веб-браузера, если оптимальный размер изображения уже был раннее загружен.
Необходимое ПО
- PHP => 7.1 (ext-gd, ext-mbstring, ext-exif)
- jQuery => 2.X
- CSSOBJ => 1.1.2
- ImageMagick => 6.9.7-4 Q16
- cwebp => 0.6.1
Установка
- В composer.json добавьте
"scripts": { "pre-autoload-dump": [ "@php vendor/showyweb/fast_background/src/istall_assets.php public/js" ] }
Где public/js относительный путь до вашей публичной директории JavaScript которая должна быть доступна по протоколу HTTP. istall_assets.php пропускает ранее скопированные файлы config.php и .gitignore
- Затем выполните команду
composer require showyweb/fast_background
Использование
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Новая страница</title> <script type="text/javascript" src="/js/FastBackground/third_party_libs/jquery-3.2.1.min.js"></script> <script type="text/javascript" src="/js/FastBackground/third_party_libs/cssobj/cssobj.min.js"></script> <script type="text/javascript" src="/js/FastBackground/index.php?fast_background=fc_script"></script> <script type="text/javascript" src="/js/FastBackground/fast_background.min.js"></script> </head> <body class="fast_background" data-urls="{'.class_block1':'img/class_block1.jpg'}"> <div class="class_block1 fast_background"></div> <div class="class_block1 fast_background" data-url="img/block2.jpg !important"></div> <div class="fast_background" data-url="img/block3.jpg"></div> <script> fast_background.ajax_url = "/js/FastBackground/index.php"; fast_background.update(); </script> </body> </html>
Для максимальной производительности важно
- Подключать JavaScript файлы FastBackground в тегах head (без использования атрибутов async и defer)
- Первый вызов
fast_background.update()выполнять перед закрывающим тегом body - Использовать FastBackground для всех картинок на странице
Если нужно отобразить картинку максимально быстро в первичной области видимости, то на php можно использовать функцию fb_cache. Чтобы функция была доступна, подключите файл public/js/FastBackground/get_img_without_js.php
Дополнительная документация доступна в файлах
- public/js/FastBackground/fast_background.js (JSDoc)
- public/js/FastBackground/config.php (Комментарии)
- public/js/FastBackground/get_img_without_js.php (PHPDoc)
showyweb/fast_background 适用场景与选型建议
showyweb/fast_background 是一款 基于 JavaScript 开发的 Composer 扩展包,目前已累计 3.46k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2022 年 01 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 showyweb/fast_background 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 showyweb/fast_background 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 3.46k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-01-17