يحتوي LocalStorage على اثنين من واجهات برمجة التطبيقات في المتصفح: LocalStorage و SessionStorage ، والذين موجودون في كائنات النوافذ: يتوافق LocalStorage مع Window.localStorage ، و SessionStorage يتوافق مع Window.SessionStorage.
الفرق بين LocalStorage و SessionStorage يرجع بشكل أساسي إلى بقائها.
الاستخدام الأساسيLocalStorage.SetItem (B ، Isaac) ؛ الاسم الرئيسي ، هنا هو blocalStorage.RemoveItem (ب) ؛نِطَاق
يشير دور الوظيفة هنا إلى: كيفية عزل LocalStorage بين الصفحات المختلفة (لا يمكنك قراءة Tencent's LocalStorage على صفحة Baidu ، Hahaha).
يمكن لـ LocalStorage قراءة/تعديل نفس بيانات LocalStorage طالما نفس البروتوكول ، واسم المضيف نفسه ، ونفس المنفذ.
SessionStorage أكثر صرامة من LocalStorage.
بقاءيعد LocalStorage دائمًا وفعالًا نظريًا ، أي أنه لن يختفي إذا لم يأخذ المبادرة. ومع ذلك ، تجدر الإشارة إلى أنه في مقابلة الويب الخاصة بالمتصفح على الأجهزة المحمولة أو مقابلة الويب المستخدمة من قبل كل تطبيق أصلي ، قد يكون من غير الموثوق به. ) واضح.
تتشابه فترة بقاء SessionStorage ، كما يوحي الاسم ، بالطالما يتم إيقاف تشغيل المتصفح (بما في ذلك صفحة علامة التبويب المتصفح) ، وسيتم مسحه. نظرًا لأن فترة البقاء على قيد الحياة في SessionStorage قصيرة جدًا ، فإن سيناريو التطبيق محدود للغاية ، ولكن من ناحية أخرى ، ليس من السهل أن يكون لديك ظروف غير طبيعية وأكثر موثوقية.
بنية البياناتLocalStorage هو نوع بيانات بيانات قياسية قياسية (قيمة المفاتيح (KV) ، وهو أمر بسيط ولكنه سهل التوسع. طالما يتم استخدامه في طريقة الترميز لتحويل الكائنات التي تريد تخزين LocalStorage إلى سلسلة ، فهو يستخدم يمكن أن تدعمه بسهولة. على سبيل المثال: قم بتحويل الكائن إلى سلسلة JSON ، يمكنك عمل كائن التخزين ؛ بالإضافة إلى ذلك ، بالنسبة لنوع القيمة الرئيسية ، بالنسبة لنوع البيانات ، فإن السمة الوحيدة للمفتاح هي أيضًا مهمة للغاية.
وقت انتهاء الصلاحيةلسوء الحظ ، لا تدعم LocalStorage وقتًا للوقت.
مجموعة الوظائف (المفتاح ، القيمة) {var curtime = new Date (). Sequence} GET (KEY ، exp) / exp هو وقت الإعداد {var value = localstorage.getItem (مفتاح) ؛ كائن json if (new date (). getTime () -dataobj.time> exp) // إذا كان الوقت الحالي -minus عنصر التخزين في الوقت> انتهت صلاحية الوقت {console.log (انتهاء صلاحيته) انتهاء الصلاحية} آخر {console.log (value =+dataObj.val) ؛}}سعة
في الوقت الحاضر ، يتم توحيد الصناعة بشكل أساسي إلى 5 أمتار ، وهو أكبر بكثير من 4K من ملفات تعريف الارتباط ، مما يوفر القليل من العام الوحشي.
حد اسم المجالنظرًا لاستراتيجية الأمان للمستعرض ، لا يمكن أن يرث اسم Sub -Omdain البيانات المحلية لاسم المجال الأصل.
علاج غير طبيعيفي بيئة المتصفح الحالية ، قد يكون هناك مجموعة متنوعة من الأخطاء. أنا شخصياً أعتقد أن LocalStorage هي مجرد طريقة تحسين للموارد. تُستخدم المعالجة غير الطبيعية لـ LocalStorage بشكل عام لالتقاط/معالجة تشوهات مع Try/Catch.
كيفية اختبار ما إذا كان المتصفح الحالي للمستخدم يدعم LocalStorageتتمثل النهج العام الحالي في اكتشاف ما إذا كانت النافذة. لذلك ، أقترح أنه يمكنك تحديد ما إذا كان المتصفح يدعم LocalStorage عن طريق تعيين/الحصول على بيانات اختبار في بنية Try/Catch.
توافق المتصفح كيفية تصحيحيمكن للموارد -لوحة التخزين المحلية والموارد -لوحة تخزين التهوية في أدوات مطور Chrome رؤية بيانات LocalStorage تحت اسم المجال الحالي.
غير قادر على تكرار setim () على أجهزة iOSبالإضافة إلى ذلك ، عندما يتم تعيين SetItem () في بعض الأحيان على iPhone/iPad ، يظهر خطأ غريب في حصة Quota_ERR.
المكونات الموصى بهاstore.js
موزيلا/محلي
LocalFont
ما سبق هو التفسير المفصل لـ HTML5 التي قدمها Xiaobian. شكرا جزيلا لدعمكم لموقع VEVB Wulin!