تتجاهل Opera LocalStorage فحص وجودي
-
23-09-2019 - |
سؤال
if (localStorage)
{
var menushown = JSON.parse(localStorage.getItem("menuState"));
if (!menushown)
{
menushown = menuDefaultState;
}
}
else
{
menushown = menuDefaultState;
}
فشل JavaScript أعلاه في Opera 10.10. يشكو من أن LocalStorage غير محدد على السطر الثاني. هذا صحيح ، ولكن بسبب الفحص في السطر الأول ، يجب ألا يصل أبدًا إلى السطر الثاني ، ولا يفشل. ما الخطأ الذي افعله؟
المحلول
يستخدم if(window.localStorage)
, ، من المحتمل أن يتسبب الكود الحالي في تحذير أو خطأ في المتصفحات غير المتوافقة.
لا يتوفر LocalStorage إلا في الأوبرا منذ 10.50 ، وعلى الأقل بالنسبة لنفسي ، فهو يعمل بشكل جيد للغاية مع الكود الخاص بك.
لا تنتمي إلى StackOverflow