نظام الملفات في HTML5 هو واجهة برمجة تطبيقات فعّالة. مع زيادة القدرات تزداد التعقيدات. ومع زيادة التعقيد، تزداد المشاكل المتعلّقة بتصحيح الأخطاء. من المؤسف أنّ DevTools في Chrome لا تتيح حاليًا استخدام واجهة برمجة التطبيقات Filesystem API. ويجعل تصحيح الأخطاء أكثر صعوبة مما ينبغي. أقصد أنّه عليك كتابة رمز برمجي لعرض الملفات أو إزالتها في نظام الملفات.
خلال جهودي في استخدام واجهة برمجة التطبيقات Filesystem API، حصلت على بعض النصائح التي أريد مشاركتها معك. ولكلّ نصيحة مجموعة من القيود، ولكن استخدام مجموعة من هذه النصائح سيساعدك في تحقيق 90% من النتيجة المطلوبة. في ما يلي أهم 5 تطبيقات:
تأكَّد من أنّك لا تدير الحملة من
file://
. هذه مشكلة مخادعة يواجهها الكثير من الأشخاص. يفرض Chrome قيود أمان كبيرة علىfile://
. تُعرِض العديد من واجهات برمجة التطبيقات المتقدّمة للملفات (BlobBuilder
وFileReader
وFilesystem API وما إلى ذلك) أخطاء أو تتعذّر تشغيلها بدون إظهار أي رسالة في حال تشغيل التطبيق على الجهاز منfile://
. إذا لم يكن لديك خادم ويب متاحًا، يمكن تشغيل Chrome باستخدام العلامة--allow-file-access-from-files
لتجاوز هذا القيد الأمني. لا تستخدِم هذه العلامة إلا لأغراض الاختبار.الرمزان
SECURITY_ERR
أوQUOTA_EXCEEDED_ERR
اللذان يُثيران الخوف يحدث ذلك عادةً عند محاولة كتابة البيانات ولكنّك تحت تأثير السبب رقم 1. إذا لم يكن الأمر كذلك، من المحتمل أنّه لا تتوفّر لديك حصة. هناك نوعان من الحصص التي يمكن فتح نظام الملفات باستخدامهما، وهماTEMPORARY
أوPERSISTENT
. إذا كنت تستخدم هذا الخيار، على المستخدم منح تطبيقك إذن الوصول إلى مساحة التخزين الثابتة بشكل صريح. اطّلِع على هذه المشاركة لمعرفة كيفية إجراء ذلك.filesystem:
عنوان URL FTW. من السهل فتح عنوان URLfilesystem:
لعنوان URLDirectoryEntry
الجذر لمصدر تطبيقك. ماذا يعني ذلك؟ على سبيل المثال، إذا كان تطبيقك متوفّرًا علىwww.example.com
، افتحfilesystem:http://www.example.com/temporary/
في علامة تبويب جديدة. سيعرض Chrome قائمة للقراءة فقط بالملفات أو المجلدات المخزّنة في مصدر تطبيقك. لمزيد من المعلومات عن عناوين URL الخاصة بنظامfilesystem:
، يُرجى الاطّلاع على https://www.html5rocks.com/en/tutorials/file/filesystem/#toc-filesystemurls.chrome://settings/cookies
هو صديقك. تتيح لك هذه الصفحة حذف البيانات المخزّنة لمصدر معيّن. ويشمل ذلك مساحة تخزين قاعدة البيانات وAppCache وملفات تعريف الارتباط وlocalStorage والعناصر في واجهة برمجة التطبيقات FileSystem API. يُرجى العِلم أنّه لا يمكن تفعيل هذه الميزة إلا بشكل كامل. لا يمكنك إزالة ملف واحد أو أجزاء من البيانات فقط.لا تنسَ استدعاءات الخطأ. تعمل واجهة برمجة التطبيقات Filesystem API في بيئة غير متزامنة (ما لم تكن تستخدم إصدار المزامنة في Workers). استخدِم دائمًا ميزة معاودة الاتصال في حال حدوث خطأ في طلبات البيانات من واجهة برمجة التطبيقات. هذه الخطوات اختيارية، ولكنّها ستوفّر عليك الكثير من المتاعب في وقت لاحق عند حدوث مشاكل.