پرش به محتوا

کتابخانه

دانلود vanilla-lazyload و نشانی CDN ایرانی

vanilla-lazyload یه کتابخانه سبک جاوااسکریپت برای بارگذاری تنبل (lazy load) تصویر، ویدیو و iframe هاست. تا وقتی کاربر به یه عنصر پایین صفحه نرسیده، اون رو لود نمی کنه و همین باعث می شه صفحه سریع تر باز بشه. برای کار کردن به jQuery یا کتابخانه دیگه ای نیاز نداره.

نسخه رسمی و بدون تغییر، از منبع رسمی با مجوز MIT؛ هش هر فایل با منبع بررسی شده است.

آخرین نسخه
۱۹.۱.۳
نسخه‌ها در مخزن
۲۷
مجوز
MIT
سازنده
Andrea "verlok" Verlicchi
آخرین بررسی
آخرین به‌روزرسانی
توضیحات

آخرین نسخه

آخرین نسخه ۱۹.۱.۳ آخرین

۸۰ کیلوبایت· ۳۱ فایل· انتشار

دانلود
نشانی مستقیم فایل اصلی https://mirror.wbweb.ir/npm/vanilla-lazyload@19.1.3/dist/lazyload.min.js
کد آماده با SRI <script src="https://mirror.wbweb.ir/npm/vanilla-lazyload@19.1.3/dist/lazyload.min.js" integrity="sha256-0a+sQO5ZupPsQx6J0UHu+UyY5muPGW9jeg+EEQoHKi0=" crossorigin="anonymous"></script>

SHA-256: d1afac40ee59ba93ec431e89d141eef94c98e66b8f196f637a0f84110a072a2d

درباره vanilla-lazyload (وانیلا لیزی لود)

فرض کن یه صفحه داری با چهل تا عکس محصول. کاربر فقط بالای صفحه رو می بینه و شاید هیچ وقت تا آخرش اسکرول نکنه، ولی مرورگر از همون ثانیه اول همه عکس ها رو دانلود می کنه. روی موبایل و اینترنت ضعیف یعنی صفحه دیر باز می شه و کاربر قبل از دیدن چیزی می ره. vanilla-lazyload برای همین مشکل ساخته شده.

ایده ساده است: عکس، ویدیو یا iframe تا وقتی به محدوده دید کاربر نزدیک نشده، لود نمی شه. کتابخانه برای تشخیص این موضوع از IntersectionObserver مرورگر استفاده می کنه و به کتابخانه دیگه ای وابسته نیست. فقط تگ img نیست که پوشش داده می شه. ویدیو، iframe، تصویر پس زمینه CSS و تصویرهای ریسپانسیو با srcset و picture هم کنارش هستن. برای کنترل بیشتر هم گزینه هایی داره، مثل اینکه لود چقدر زودتر از رسیدن کاربر به عنصر شروع بشه، یا اینکه بعد از لود موفق یا خطا یه تابع اجرا بشه.

به درد صفحه های پر از تصویر می خوره: فروشگاه اینترنتی، گالری، وبلاگ های طولانی، صفحه فرود و سایت هایی که چند تا ویدیوی embed شده دارن. اگه قالب خودت رو می نویسی و نمی خوای یه کتابخانه سنگین اضافه کنی، گزینه خوبیه. ولی چند جا بهتره سراغش نری. تصویرهای بالای صفحه، مخصوصاً عکس اصلی هدر، رو lazy نکن. این عکس ها باید زود دیده بشن و lazy کردنشون سرعت حس شده رو بدتر می کنه. سایتی که تصویر کمی داره هم چیز زیادی از این کار نمی گیره. اگه فقط یه lazy load ساده می خوای، ویژگی loading="lazy" خود مرورگر هم شاید کافی باشه.

یه نکته برای وردپرسی ها: خیلی از افزونه های کش و بهینه سازی خودشون lazy load دارن. اگه اون رو روشن گذاشتی و این کتابخانه رو هم اضافه کردی، دو تا مکانیزم با هم تداخل می کنن. یکی رو انتخاب کن. بعد از پیاده سازی هم چک کن عکس ها هم برای کاربر دیده بشن و هم برای ربات جستجو.

نسخه های رسمی و بدون تغییر vanilla-lazyload، با مجوز MIT و ساخته Andrea Verlicchi، توی مخزن داخلی ما هم هست. وقتی دسترسی به منبع های خارجی مشکل داره، می تونی فایل رو از همین جا بگیری و روی هاست خودت بذاری.

راهنمای استفاده

راه اندازی vanilla-lazyload پیچیده نیست. قدم های کلی این هاست:

  • فایل کتابخانه رو از همین صفحه بگیر و توی پوشه جاوااسکریپت سایت یا قالبت بذار. اگه پروژه ات با npm کار می کنه، می تونی به عنوان وابستگی نصبش کنی.
  • فایل رو توی صفحه بارگذاری کن. بهتره آخر صفحه، قبل از بسته شدن body، یا با defer لود بشه تا جلوی نمایش صفحه رو نگیره.
  • توی HTML به جای src از data-src استفاده کن (برای تصویر ریسپانسیو data-srcset). کلاس lazy رو هم به همون تگ بده، چون کتابخانه به صورت پیش فرض دنبال همین کلاس می گرده.
  • کد آماده پایین همین صفحه رو کپی کن و توی اسکریپت سایتت بذار تا یه نمونه از LazyLoad ساخته بشه.
  • اگه بعداً با ایجکس یا اسکرول بی نهایت عنصر تازه به صفحه اضافه می شه، متد update رو صدا بزن تا اونا هم دیده بشن.

بعد از راه اندازی، صفحه رو باز کن و از تب Network ابزار توسعه دهنده ببین عکس های پایین صفحه موقع اسکرول لود می شن یا نه. یه چیز دیگه: برای عکس های lazy عرض و ارتفاع رو توی HTML مشخص کن تا موقع لود، چیدمان صفحه نپره.

همه نسخه‌ها (۲۷)

نسخه‌های ۱۹.x ۹ نسخه
  • ۱۹.۱.۳ آخرین نسخه ۸۰ کیلوبایت·
    دانلودنسخه 19.1.3
    نشانی مستقیم فایل اصلی 19.1.3 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.1.3/dist/lazyload.min.js
  • ۱۹.۱.۲ ۸۰ کیلوبایت·
    دانلودنسخه 19.1.2
    نشانی مستقیم فایل اصلی 19.1.2 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.1.2/dist/lazyload.min.js
  • ۱۹.۱.۱ ۸۶ کیلوبایت·
    دانلودنسخه 19.1.1
    نشانی مستقیم فایل اصلی 19.1.1 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.1.1/dist/lazyload.min.js
  • ۱۹.۱.۰ ۸۷ کیلوبایت·
    دانلودنسخه 19.1.0
    نشانی مستقیم فایل اصلی 19.1.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.1.0/dist/lazyload.min.js
  • ۱۹.۰.۵ ۸۷ کیلوبایت·
    دانلودنسخه 19.0.5
    نشانی مستقیم فایل اصلی 19.0.5 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.0.5/dist/lazyload.min.js
  • ۱۹.۰.۴ ۸۷ کیلوبایت·
    دانلودنسخه 19.0.4
    نشانی مستقیم فایل اصلی 19.0.4 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.0.4/dist/lazyload.min.js
  • ۱۹.۰.۳ ۸۸ کیلوبایت·
    دانلودنسخه 19.0.3
    نشانی مستقیم فایل اصلی 19.0.3 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.0.3/dist/lazyload.min.js
  • ۱۹.۰.۱ ۸۸ کیلوبایت·
    دانلودنسخه 19.0.1
    نشانی مستقیم فایل اصلی 19.0.1 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.0.1/dist/lazyload.min.js
  • ۱۹.۰.۰ ۱۲۴ کیلوبایت·
    دانلودنسخه 19.0.0
    نشانی مستقیم فایل اصلی 19.0.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@19.0.0/dist/lazyload.min.js
نسخه‌های ۱۸.x ۱ نسخه
  • ۱۸.۰.۰ ۱۴۰ کیلوبایت·
    دانلودنسخه 18.0.0
    نشانی مستقیم فایل اصلی 18.0.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@18.0.0/dist/lazyload.min.js
نسخه‌های ۱۷.x ۱۰ نسخه
  • ۱۷.۹.۰ ۱۴۳ کیلوبایت·
    دانلودنسخه 17.9.0
    نشانی مستقیم فایل اصلی 17.9.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.9.0/dist/lazyload.min.js
  • ۱۷.۸.۸ ۱۴۲ کیلوبایت·
    دانلودنسخه 17.8.8
    نشانی مستقیم فایل اصلی 17.8.8 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.8.8/dist/lazyload.min.js
  • ۱۷.۸.۵ ۱۴۲ کیلوبایت·
    دانلودنسخه 17.8.5
    نشانی مستقیم فایل اصلی 17.8.5 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.8.5/dist/lazyload.min.js
  • ۱۷.۸.۴ ۱۴۳ کیلوبایت·
    دانلودنسخه 17.8.4
    نشانی مستقیم فایل اصلی 17.8.4 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.8.4/dist/lazyload.min.js
  • ۱۷.۸.۳ ۱۴۳ کیلوبایت·
    دانلودنسخه 17.8.3
    نشانی مستقیم فایل اصلی 17.8.3 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.8.3/dist/lazyload.min.js
  • ۱۷.۸.۲ ۱۴۳ کیلوبایت·
    دانلودنسخه 17.8.2
    نشانی مستقیم فایل اصلی 17.8.2 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.8.2/dist/lazyload.min.js
  • ۱۷.۵.۰ ۱۳۷ کیلوبایت·
    دانلودنسخه 17.5.0
    نشانی مستقیم فایل اصلی 17.5.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.5.0/dist/lazyload.min.js
  • ۱۷.۴.۰ ۱۲۰ کیلوبایت·
    دانلودنسخه 17.4.0
    نشانی مستقیم فایل اصلی 17.4.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.4.0/dist/lazyload.min.js
  • ۱۷.۳.۱ ۱۲۰ کیلوبایت·
    دانلودنسخه 17.3.1
    نشانی مستقیم فایل اصلی 17.3.1 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.3.1/dist/lazyload.min.js
  • ۱۷.۱.۲ ۱۳۰ کیلوبایت·
    دانلودنسخه 17.1.2
    نشانی مستقیم فایل اصلی 17.1.2 https://mirror.wbweb.ir/npm/vanilla-lazyload@17.1.2/dist/lazyload.min.js
نسخه‌های ۱۶.x ۱ نسخه
  • ۱۶.۱.۰ ۱۲۹ کیلوبایت·
    دانلودنسخه 16.1.0
    نشانی مستقیم فایل اصلی 16.1.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@16.1.0/dist/lazyload.min.js
نسخه‌های ۱۲.x ۳ نسخه
  • ۱۲.۴.۰ ۸۲ کیلوبایت·
    دانلودنسخه 12.4.0
    نشانی مستقیم فایل اصلی 12.4.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@12.4.0/dist/lazyload.min.js
  • ۱۲.۱.۰ ۷۵ کیلوبایت·
    دانلودنسخه 12.1.0
    نشانی مستقیم فایل اصلی 12.1.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@12.1.0/dist/lazyload.min.js
  • ۱۲.۰.۰ ۷۳ کیلوبایت·
    دانلودنسخه 12.0.0
    نشانی مستقیم فایل اصلی 12.0.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@12.0.0/dist/lazyload.min.js
نسخه‌های ۱۱.x ۲ نسخه
  • ۱۱.۰.۶ ۶۹ کیلوبایت·
    دانلودنسخه 11.0.6
    نشانی مستقیم فایل اصلی 11.0.6 https://mirror.wbweb.ir/npm/vanilla-lazyload@11.0.6/dist/lazyload.min.js
  • ۱۱.۰.۲ ۸۱ کیلوبایت·
    دانلودنسخه 11.0.2
    نشانی مستقیم فایل اصلی 11.0.2 https://mirror.wbweb.ir/npm/vanilla-lazyload@11.0.2/dist/lazyload.min.js
نسخه‌های ۱۰.x ۱ نسخه
  • ۱۰.۱۹.۰ قدیمی‌ترین نسخه ۶۵۳ کیلوبایت·
    دانلودنسخه 10.19.0
    نشانی مستقیم فایل اصلی 10.19.0 https://mirror.wbweb.ir/npm/vanilla-lazyload@10.19.0/dist/lazyload.min.js

پرسش‌های رایج

  • نه. از اسمش هم پیداست، با جاوااسکریپت ساده نوشته شده و به jQuery یا کتابخانه دیگه ای وابسته نیست. می تونی تنهایی توی یه سایت وردپرسی، یه پروژه استاتیک یا یه اپلیکیشن جدید ازش استفاده کنی و لازم نیست چیز دیگه ای کنارش لود کنی.

  • loading="lazy" ساده است و بدون کتابخانه کار می کنه، ولی کنترل کمی بهت می ده. با vanilla-lazyload می تونی فاصله شروع لود رو تنظیم کنی، برای رویدادهایی مثل لود موفق یا خطا تابع بنویسی و تصویر پس زمینه CSS یا iframe رو هم مدیریت کنی.

  • اول چک کن به جای src از data-src استفاده کرده باشی و کلاس lazy روی عنصر باشه. بعدش ببین کدی که نمونه LazyLoad رو می سازه، بعد از آماده شدن DOM اجرا می شه یا نه. اگه افزونه کش هم lazy load داره، یکی از این دو تا رو خاموش کن.

  • معمولاً نه. تصویرهای بالای صفحه، مخصوصاً عکس اصلی هدر یا بنر، باید سریع نمایش داده بشن و lazy کردنشون سرعت حس شده رو بدتر می کنه. lazy load به درد عکس هایی می خوره که کاربر باید اسکرول کنه تا بهشون برسه.

  • کتابخانه فقط عنصرهایی رو می شناسه که موقع ساخت نمونه توی صفحه بودن. بعد از اینکه محتوای تازه رو به صفحه اضافه کردی، متد update رو روی نمونه LazyLoad صدا بزن تا عنصرهای جدید هم زیر نظر گرفته بشن. این کار رو هر بار بعد از اضافه شدن محتوای تازه، مثلاً بعد از تموم شدن درخواست ایجکس، انجام بده.

چیزی که لازم دارید اینجا نیست؟

نام کتابخانه، افزونه یا قالب را بفرستید؛ پس از بررسی، نسخه‌های رسمی آن به مخزن اضافه می‌شود.