زندگی سخت نیست ادما بی عرضن
محاسبه زمان خواندن یک مطلب در جاوا اسکریپت
با سلام
جدیدا مٌد شده سایت ها مدت زمان تقریبی خواندن یک مطلب را برای کاربران نشون میدن
ولی خوب اگه بخوایم خیلی تخصصی وارد بشیم میبینیم این مقدار زمان خیلی هم درست نیست شاید کمتر شاید هم بیشتر
ولی محاسبه این مقدار زمان در زبان های مختلف فرق میکنه و اگه داخل متن عکس هم باشه باید محاسبه را تخصصی تر کرد
اول توضیح بدیم که راحت ترین کار برای محاسبه این مقدار زمان چیه
کافیه تعداد کلمات یک عبارت را در بیارید و در یک عدد که میانگین زمان خواندن یک کلمه هست را ضرب کنیم و تقسیم به ۶۰ تا به دقیقه در بیاد برامون ما تو این مثال ۰.۱۲ را مبنا قرار میدیم
const str = "جدیدا مٌد شده سایت ها مدت زمان تقریبی خواندن یک مطلب را برای کاربران نشون میدن";
const words = str.split(' '); // words.length = 16
const timeForRead = words.length * 0.12 / 60; // timeForRead = 0.032
خب تا اینجا به یک عدد رسیدیم
حالا کافیه اون عدد را رند کنیم
const timeForRead = Math.trunc((words.length * 0.12) / 60); // timeForRead = 0
خب حالا کافیه که به این صورت نمایش بدیم
<b> {timeForRead === 0 ? 'کمتر از ۱' : timeForRead} دقیقه</b>
خیلی ساده
اما برمیگردیم به مبنای محاسبه اگه زبان انگلیسی باشه این متن معمولا بین ۰.۱۹ تا ۰.۲۵ مبنا قرار میگیره
اما برای فارسی من مبنا را ۰.۱۲ قرار دادم به این دلیل که کلمات ربط و حروف اضافه در فارسی خیلی بیشتر از انگلیسی هست شما میتونید این عدد را تو بازه ۰.۱۱ تا ۰.۱۶ قرار بدید بسته به محتوا تخصصی سایتتون
مهم ترین موضوع که از قلم جا افتاد تصاویر در متن هست که خیلی بستگی به پردازش تصویر و ... داره ولی میتونید همین کد را کامل تر کنید و برای هر تصویر ۷ ثانیه در نظر بگیرید و به timeForRead اضافه کنید
پ . ن: هیچ مبنا علمی برای تعیین زمان خواندن یک کلمه در زبان فارسی وجود نداره من با محاسبه زمان خواندن یک پاراگراف توسط یک نوجوان یک جوان و یک میان سال به این عدد رسیدم اگه میدونید عددی بهتر برای مبنا قرار دادن دارید خوشحال میشم تو کامنت ها بفرستید
با تشکر
مطلبی دیگر از این انتشارات
آرایه گردی در جاوااسکریپت!
مطلبی دیگر از این انتشارات
معرفی storybook.js
مطلبی دیگر از این انتشارات
ترفندهای ضروری CSS برای طراحان وب