بررسی در دسترس بودن localstorage در جاواسکریپت
اگر شما هم برنامه نویس فرانت هستید یا در حال توسعه به زبان جاوااسکریپت در سمت کاربر هستید احتمالا از localstorage استفاده میکنید و یکی از قابلیتهای پرکاربرد برای سیستمهایی است که کاربران با آنها تعامل دادهای دارند. به عنوان یک برنامه نویس حتما میدانید که localsotorage در جاوااسکریپت به این شکل عمل میکند که شما باید ابتدا صفحه را لود کنید و بعد بتوانید از آن استفاده کنید یعنی یکی از زیرشاخههای object موجود در window است. اگر صفحه شما لود نشود این ویژگی برای شما فعال نخواهد شد و خطا خواهد داشت. در این نوشته روش حل این موضوع را به شما آموزش میدهیم.
بررسی در دسترس بودن localstorage در جاواسکریپت
کافیست تابع زیر را به برنامهی خود فراخوانی کنید و با کمک یک شرط if خروجی آن را بررسی کنید که آیا localstorage فعال است یا خیر؟!
export const isLocalStorageAvailable = () => {
var test = 'test';
try {
localStorage.setItem(test, test);
localStorage.removeItem(test);
return true;
} catch(e) {
return false;
}
}
if(isLocalStorageAvailable) {
console.log("localstorage is active");
} else {
console.log("localstorage is not active");
}
اگر تابع زیر برای شما به درستی کار نکرد در بخش نظرات همین نوشته برای ما بنویسید.



















این تابع روی موبایلها هم درست کار میکنه؟
بله، این تابع روی موبایلها هم کار میکند و درستی عملکرد localStorage را بررسی میکند. اگر مشکلی داشت، لطفاً مدل گوشی و مرورگر خود را ذکر کنید تا بررسی شود.
میشه این تابع را به صورت async نوشت؟
سلام، ممنون از سوالتون. از آنجایی که localStorage یک API همزمان (synchronous) است، نمیتوان آن را به صورت مستقیم با async/await استفاده کرد.
این روش روی private mode مرورگر هم جواب میده؟
سلام، این روش در حالت Private Mode مرورگرها به دلیل محدودیت دسترسی به LocalStorage ممکن است به درستی کار نکند.
تست کردن localStorage قبل از لود کامل صفحه ضروری است؟
سلام، تست کردن localStorage قبل از لود کامل صفحه معمولاً ضروری نیست، چون تا صفحه لود نشود، localStorage در دسترس نخواهد بود. با این حال، اگر سناریوی خاصی دارید که نیاز به این کار دارد، میتوانید از روشهای پیشنهادی در پست استفاده کنید.
این تابع روی همه مرورگرها کار میکند؟
بله، این تابع با تست کردن امکان نوشتن و خواندن از localStorage، در اکثر مرورگرها سازگاری را بررسی میکند. اگر مشکلی داشت، لطفاً نسخه مرورگر خود را هم ذکر کنید.