جلسه ۴۸ – رفع ارور Use passive listeners to improve scrolling performance

آموزش حل مشکل Use passive listeners to improve scrolling performance در جی تی متریکس

رفع ارور Use passive listeners to improve scrolling performance

سلام همراهان عزیز میزفا
از مجموعه مقالات آموزش جی تی متریکس و از سایت میزفا همراه شما هستیم. تو جلسه قبلی درباره برطرف کردن خطای Use HTTP/2 for all resources صحبت کردیم و در این جلسه به آموزش رفع ارور Use passive listeners to improve scrolling performance در جی تی متریکس می‌پردازیم. این خطا روی بهینه سازی تجربه کاربری (UX) از طریق بهبود اسکرول شدن صفحه توسط کاربر تاکید داره. تو این مقاله سعی می‌کنیم علت ایجاد مشکل رو به ساده‌ترین شکل ممکن بیان کنیم. چون درک دلیل فنی خطا مبحث پیچیده‌ای هست و پیش نیازش آگاهی از برخی اصطلاحات و متدهای برنامه نویسی هست. از طرف دیگه برطرف کردن خطا هم اصلا آسون نیست و نیاز به تخصص و تجربه بالا در برنامه نویسی داره. اما منابع لازم برای مطالعه بیشتر رو انتهای مقاله در اختیار برنامه نویسان عزیز قرار می‌دیم تا بتونند بیشتر مطالعه کنند.
لطفا تا پایان با میزفا همراه باشید.

خلاصه خطای Use passive listeners to improve scrolling performance

میزان سختی: ****
روی چه مواردی تاثیر می‌ذاره: تجربه کاربری (UX)

علت ایجاد خطای Use passive listeners to improve scrolling performance چیست؟

احتمالا این تجربه رو داشتید که وقتی صفحه‌ای رو باز می‌کنید و صفحه هنوز در حال لود شدنه، اسکرول کردن صفحه با مشکلاتی مواجه میشه؛ یعنی صفحه اسکرول نمیشه و یا به کندی اسکرول میشه. این مشکل مخصوصا روی موبایل و تبلت ملموس‌تره. دلیل این مشکل و علت ایجاد خطای Use passive listeners to improve scrolling performance در جی تی متریکس اینه که مرورگرهایی مثل کروم در حالت عادی تا زمانی که JavaScript اجرا نشه، اجازه اسکرول کردن رو نمیدن. توی ویدئو زیر این موضوع بهتر مشخص شده:

منبع ویدئو

ارور Use passive listeners to improve scrolling performance باعث تجربه کاربری ضعیف میشه و حتی شاید دلیلی باشه که کاربر تصمیم بگیره صفحه ما رو ترک کنه. اما چرا چنین مشکلی پیش میاد؟

مقصر بیشتر تاخیرها یا توقف‌هایی که موقع اسکرول کردن ایجاد میشن، touch event listener هست. اینکه touch event listener دقیقا چیه، بحثی مرتبط با آموزش جاوا اسکریپت هست و ما واردش نمی‌شیم. اما touch event listener ها معمولا برای ردیابی تعامل‌های کاربران یا بهینه سازی اسکرول شدن صفحه استفاده میشه. مثلا برای اینکه وقتی کاربر به یه نقشه پویای گوگل در صفحه ما می‌رسه، اسکرول شدن باید متوقف بشه. پس touch event listener مزایایی هم داره و نمیشه ازش استفاده نکرد. اما معایبی هم داره و باعث ایجاد خطای Use passive listeners to improve scrolling performance میشه. اما خوشبختانه میشه با استفاده از passive event listener این ارور رو برطرف کرد.

چطور خطای Use passive listeners to improve scrolling performance را برطرف کنیم؟

در حال حاضر مرورگرها نمی‌تونند تشخیص بدن که آیا یک touch event listener قصد داره اسکرول شدن صفحه رو متوقف کنه یا نه؟ به همین دلیل مرورگر به‌خاطر این عدم آگاهیش چاره‌ای نداره جز اینکه صبر کنه تا listener کارش رو تموم کنه و اون وقت به کاربر اجازه اسکرول کردن بده.

در اینجا passive event listener ها برطرف کننده مشکل هستند و استفاده از اونها باعث رفع ارور Use passive listeners to improve scrolling performance میشه. استفاده از passive event listener این امکان رو به ما میده که یه Flag در پارامتر Options از addEventListener ایجاد کنیم که تعیین کننده این موضوعه که listener هرگز اسکرول کردن رو متوقف نمی‌کنه. در نتیجه مرورگر می‌تونه با خیال راحت اجازه اسکرول کردن رو به کاربر بده.

البته اگه شما متخصص برنامه نویسی نباشید، با این اصطلاحات آشنایی ندارید و الآن کمی نگران شدید که اینها چیه. هرچند سعی کردم این خطا رو به ساده‌ترین شکل ممکن بیان کنم. اما به‌هرحال اگه شما برنامه نویس نباشید یا متخصص برنامه نویسی برای سایتتون نداشته باشید، نمی‌تونید خطای Use passive listeners to improve scrolling performance رو برطرف کنید. اما می‌تونید لینک مقاله رو برای برنامه نویستون بفرستید تا بتونه این مشکل رو حل کنه.

با کلیک روی این خطا در گزارش Structure جی تی متریکس جدید می‌تونیم متوجه بشیم چنین مشکلی رو داریم یا نه. سپس برای هر کدوم از event listener هایی که GTmetrix در این ارور مشخص کرده، یه passive flag اضافه می‌کنیم. مثل نمونه زیر:

document.addEventListener('touchstart', onTouchStart, {passive: true});

البته پشتیبانی مرورگر هم اینجا مهمه و اگه مرورگر از passive event listener پشتیبانی نکنه، کار کمی سخت میشه. روش حل این مشکل رو در این مقاله می‌تونید مطالعه کنید.

کار رو به تیم متخصص برنامه نویسی یا SEO بسپارید

اگه سایتتون متخصص برنامه نویسی نداره و خودتون هم تخصص ندارید، می‌تونید کار رو به یه تیم متخصص برنامه نویسی یا SEO بسپارید. اگه تیم خوب می‌شناسید که هیچ ولی اگه دنبال یک تیم حرفه‌ای و همینطور دنبال بهترین خدمات سئو می‌گردید، می‌تونید خدمات سئو سایت میزفا رو بررسی کنید. کلی خدمات متنوع از جمله بهینه سازی سرعت سایت برای خدمت رسانی به شما عزیزان آماده کردیم.

جمع بندی

در این مقاله میزفا درباره روش حل مشکل Use passive listeners to improve scrolling performance در GTmetrix صحبت کردیم. این خطا مربوط به اثر اسکرول شدن درست صفحه روی بهبود تجربه کاربری هست. ما دلیل ایجاد خطا و روش برطرف کردنش رو در این مقاله گفتیم. رفع این خطا نیاز به تخصص و تجربه بالا در برنامه نویسی داره. امیدوارم این آموزش برای شما مفید بوده باشه. تو جلسه بعدی درباره خطای Use video formats for animated content صحبت می‌کنیم.

اگه سوالی دارید در قسمت نظرات (پایین همین صفحه) بپرسید تا با کمال میل پاسخگوی شما عزیزان باشیم.

فیلم آموزشی افزایش سرعت سایت با gtmetrix
فیلم آموزشی افزایش سرعت سایت با gtmetrix
محمدعرفان صدری
از ۱۶-۱۷ سالگی تا الان (که ۲۶ سالمه) شغل‌های متنوعی رو تجربه کردم؛ از پخش کردن تراکت تا کار تو کارگاه ماست بندی؛ از منشی آموزشگاه زبان تا تدریس زبان انگلیسی؛ مشاوره تحصیلی و یه سری کارهای اجرایی؛ و در نهایت هم SEO و بازاریابی آنلاین. چیزی که تو همه این مشاغل توجهم رو جلب کرده، اینه که موسسات و سازمان‌های ایرانی چقدر جا برای رشد و پیشرفت حرفه‌ای دارند و چقدر از این موضوع غافلند. از طرف دیگه متوجه شدم علاقه شدید و پتانسیل عجیبی دارم برای کمک به رشد و توسعه کسب‌وکارها. و اینطوری شد که الان در حیطه SEO و بازاریابی محتوایی، پروژه انجام می‌دم، تدریس می‌کنم و مقاله می‌نویسم تا در حد خودم کمکی کرده باشم به رشد شما عزیزان.
لیست آموزش GTmetrix نسخه جدید

6 نظر

6 پاسخ

  1. سلام یعنی این پیجای ایرانی فقط دنبال کاسبی کردن هستن هیچی نمیخوان یاد بدن فقط یه سری توضیح سئو شده میدن آخرش میگن با ماتماس بگیرید یه خورده از خارجیا یاد بگیرید همه چیو یاد میدن بی منت و اینکه بیا از ما خرید کن همتون هم تو مقاله هاتون یه جور توضیح دادید از این ده تا سایت که مقاله هاتون یه جور هست و سئو دارید فکر کنم که یکنفرتون هم نتونید خودتون اون مقاله ای و که نوشتید اجرا کنید.

    1. سلام مجید عزیز
      من کاملا شما رو درک میکنم، طبیعتا وقتی دانش بسیار ضعیفی در زمینه سئو داشته باشید ممکنه اینطور فکر کنید و همینطور چون شناختی هم از ما ندارید طبیعی هست قضاوت کنید.
      داخل مقاله خیلی واضح و روشن گفته شده که برای حل این مشکل نیاز به برنامه نویسی هست و باید برنامه نویس حرفه ای هم باشه و حل کردن اون اصلا راحت نیست، این مورد رو خوندید؟ یا دنبال یک کد جادویی میگردید؟
      کاش مثل خارجی ها کمی مسئولیت پذیر بودید و یک نظر درست و حسابی میذاشتید مثلا میرفتید تحقیق میکردید و راه حل پیدا میکردید و توی نظرات میگفتید تا بقیه استفاده کنن. ولی فقط نق زدید و قضاوت بی‌جا داشتید، درسته؟
      به جای اینکه فضای وب رو مسموم کنید و نظر به درد نخور بدید، راه حل بدید تا از دانش شما که مثل خارجی ها خیلی فوق العاده هست استفاده کنیم.
      کاش حداقل به جای اینکه انقدر چرت و پرت بگید چند تا دونه لینک از این سایت های خارجی رو ارسال میکردید تا بقیه کاربران استفاده کنن. هر چند سایت های خارجی هم همه راه حل هاشون برنامه نویسی هست.

  2. من دیگه وارد سایت شما نمی شم. متاسفم واقعا!
    فقط برای اینکه توی نتایج گوگل بیاین بالا یه مطلب با اون عنوان می نویسین بدون هیچ راه حل کاربردی.
    بارها وارد سایتتون شدم و بعد از خوندن 5 تا 10 دقیقه اخر مطلب میگین نیاز به برنامه نویسی هست!
    خب همون اول بنویسین ! که منی که برنامه نویسی بلد نیستم بیخود وقت نذارم واس خوندن محتوای بی ارزش !

    1. سلام علی عزیز.
      اصولا کسانی که همینطوری چشم بسته یک انتقاد به دور از منطق و دانش میکنن با ایمیل های فیک نظر ارسال میکنن علی جان مثل شما.
      شما اگر کمی دقت میکردید ما داخل همه مقالات یک عنوان داریم که نوشتیم “چطور خطای فلان رو حل کنیم” و اگر صرفا دنبال راه حل هستی میتونی مقاله رو نخونی و بری بخشی که مربوط به راه حل هست و اونو سریع ببینی.
      شاید شما کلا در مراحل زندگی برای حل کردن مشکل به خود مشکل توجه نمیکنی و صورت مسئله رو نگاه نمیکنی ولی دنبال راه حل هستی 🙂 اینطوری که نمیتونی راه حل رو پیدا کنی و باید بفهمی که مشکل دقیقا چی هست تا راه حل برات قابل درک باشه.
      محتوایی بی ارزش هست که ما فقط بنویسیم نیاز به برنامه نویسی داره که خب خداروشکر ما در این زمینه مثل شما فکر نمیکنیم.
      شاید چون برنامه نویس ندارید یا برنامه نویسی رو بلد نیستید باعث شده کمی عصبی بشید و نظر به دور از منطق رو ارسال کنید.
      مقالاتی که ما نوشتیم سعی شده همه تخصصی باشه و تولید خودمون هست و اگر راه حل غیربرنامه نویسی هم داشته گفتیم، خود برنامه نویسی هم اتفاقا یکی از بهترین راه حل های کاربردی هست هر چند شما به این موضوع توجه نکردی و یا انگار برنامه نویسی رو راه حل نمیدونی!!!!!!
      البته یک موضوع دیگه هم هست شاید هنوز توی قدیم موندی و انتظار داری مثل گذشته برای حل gtmetrix یک کد جادویی بهت بدیم تا مشکل حل بشه ولی دیگه اون دوران هم تموم شده و الان همه چی تخصصی هست و برای حل همه مشکلات شما باید برنامه نویسی کنید. اینو اتفاقا توی معرفی نسخه جدید gtmetrix هم ما گفتیم و اگر میخوندی متوجه میشدی.
      با این حال اگر ما ناخواسته شما رو با محتوای درست ناراحت کردیم پوزش 🙂
      موفق باشی.

  3. با سلام و احترام
    این مشکل رو روی مرورگر اینستاگرام دارم ، چندین ثانیه طول میکشه تا اجازه اسکرول به پایین رو بده . ولی تو مرورگرای دیگه مثل کروم و فایرفاکس این تاخیر رو ندارم . آیا افزونه ای یا راه حلی برای این مشکل وجود داره ؟ تو لینک پیشنهادی گوگل یه سورس کد رو نوشتن و تاکید کردن یه برنامه نویس انجامش بده و متاسفانه من در این حد نیستم . ممنون میشم راهنمایی کنید

    1. سلام حسین
      خب چی رو راهنمایی کنم حسین عزیز؟ خود داری میگی کار برنامه نویس هست. پس بده به برنامه نویس تا برات انجام بده.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=