الوصف
استخدِم واجهة برمجة التطبيقات chrome.fileSystemProvider
لإنشاء أنظمة ملفات يمكن الوصول إليها من مدير الملفات على ChromeOS.
الأذونات
fileSystemProvider
مدى التوفّر
يجب إدراج الإذن والقسم "fileSystemProvider" في بيان الإضافة لاستخدام File System Provider API. على سبيل المثال:
{
"name": "My extension",
...
"permissions": [
"fileSystemProvider"
],
...
"file_system_provider_capabilities": {
"configurable": true,
"watchable": false,
"multiple_mounts": true,
"source": "network"
},
...
}
يجب تعريف قسم file_system_provider على النحو التالي:
-
configurable
(منطقي) - اختياري - ما إذا كان من الممكن إجراء الإعدادات من خلال onConfigureRequested. القيمة التلقائية هي false.
-
multiple_mounts
(منطقي) - اختياري - ما إذا كان يتم توفير أنظمة ملفات متعددة (أكثر من واحد) مثبّتة. القيمة التلقائية هي false.
-
watchable
(منطقي) - اختياري - ما إذا كان من الممكن ضبط مراقبي الإعدادات وإرسال إشعارات بشأن التغييرات. القيمة التلقائية هي false.
source
(تعداد "ملف" أو "جهاز" أو "شبكة") - مطلوب- مصدر البيانات لأنظمة الملفات التي تم ربطها
يستخدم تطبيق "الملفات" المعلومات المذكورة أعلاه لعرض عناصر واجهة المستخدم ذات الصلة بشكلٍ مناسب. على سبيل المثال، إذا تم ضبط configurable
على "صحيح"، سيتم عرض عنصر قائمة لإعداد مستويات الصوت. وبالمثل، إذا تم ضبط multiple_mounts
على true
، سيسمح تطبيق "الملفات" بإضافة أكثر من نقطة ربط واحدة من واجهة المستخدم. إذا كانت قيمة watchable
هي false
، سيتم عرض زر إعادة التحميل. يُرجى العِلم أنّه يجب إضافة إمكانية استخدام أدوات المراقبة إذا أمكن ذلك، حتى يتم عرض التغييرات في نظام الملفات على الفور وبشكل تلقائي.
نظرة عامة
تسمح واجهة برمجة التطبيقات File System Provider للإضافات بتوفير أنظمة ملفات افتراضية متاحة في مدير الملفات على ChromeOS. تشمل حالات الاستخدام فك ضغط الأرشيفات والوصول إلى الملفات في خدمة سحابية غير Drive.
تحميل أنظمة الملفات
يمكن أن توفّر الإضافات محتوى نظام الملفات من مصدر خارجي (مثل خادم بعيد أو جهاز USB)، أو تستخدم ملفًا محليًا (مثل أرشيف) كمدخل لها.
لكي تتمكّن من كتابة أنظمة ملفات تعمل كمعالجات للملفات (المصدر هو "file"
)، يجب أن يكون مقدّم الخدمة تطبيقًا مجمَّعًا، لأنّ الحدث onLaunched
غير متاح للإضافات.
إذا كان المصدر شبكة أو جهازًا، يجب تركيب نظام الملفات عند استدعاء الحدث onMountRequested.
المصدر لبيانات نظام الملفات | نقطة الإدخال |
---|---|
"file" |
تتوفّر هذه الميزة للتطبيقات المجمّعة فقط. |
"device" أو "network" |
onMountRequested |
ضبط أنظمة الملفات
يمكن ضبط أنظمة الملفات المتوفّرة بعد تثبيتها من خلال الحدث onConfigureRequested. ويكون ذلك مفيدًا بشكل خاص لأنظمة الملفات التي توفّر المحتوى عبر الشبكة من أجل ضبط بيانات الاعتماد المناسبة. ويُعدّ التعامل مع هذا الحدث أمرًا اختياريًا.
رحلة المستخدم
يتذكّر Chrome أنظمة الملفات التي تم تحميلها ويُعيد تحميلها تلقائيًا بعد إعادة التشغيل. وبالتالي، بعد أن يتم تثبيت نظام ملفات بواسطة إضافة توفّر هذا النظام، سيظلّ مثبّتًا إلى أن يتم إلغاء تحميل الإضافة أو إلى أن تستدعي الإضافة طريقة unmount.
الأنواع
AbortRequestedOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
operationRequestId
الرقم
معرّف الطلب الذي سيتم إلغاؤه
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
Action
الخصائص
-
id
سلسلة
معرّف الإجراء. أي سلسلة أو
CommonActionId
للإجراءات الشائعة -
title
سلسلة اختيارية
تمثّل هذه السمة عنوان الإجراء. وقد يتم تجاهله للإجراءات الشائعة.
AddWatcherRequestedOptions
الخصائص
-
entryPath
سلسلة
مسار الإدخال الذي سيتم رصده.
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
تكراري
قيمة منطقية
تحديد ما إذا كان يجب أن يشمل الرصد جميع الإدخالات الفرعية بشكل متكرّر يمكن أن ينطبق ذلك على الأدلة فقط.
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
Change
الخصائص
-
changeType
نوع التغيير الذي حدث في الإدخال.
-
cloudFileInfo
CloudFileInfo اختياري
الإصدار 125 من Chrome والإصدارات الأحدثمعلومات ذات صلة بالملف إذا كان مدعومًا بنظام ملفات على السحابة الإلكترونية
-
entryPath
سلسلة
مسار الإدخال الذي تم تغييره
ChangeType
نوع التغيير الذي تم رصده في الدليل الذي تتم مراقبته.
Enum
"CHANGED"
"DELETED"
CloseFileRequestedOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
openRequestId
الرقم
معرّف الطلب المستخدَم لفتح الملف
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
CloudFileInfo
الخصائص
-
versionTag
سلسلة اختيارية
علامة تمثّل إصدار الملف.
CloudIdentifier
الخصائص
-
id
سلسلة
معرّف الموفّر للملف أو الدليل المحدّد
-
providerName
سلسلة
معرّف موفّر خدمة التخزين السحابي (مثل drive.google.com).
CommonActionId
قائمة بالإجراءات الشائعة يُستخدم "SHARE"
لمشاركة الملفات مع الآخرين. "SAVE_FOR_OFFLINE"
لتثبيت الملف (حفظه للوصول إليه بلا إنترنت) "OFFLINE_NOT_NECESSARY"
لإعلامك بأنّه لم يعُد من الضروري تخزين الملف للوصول إليه بلا اتصال بالإنترنت. يتم استخدامها من قِبل onGetActionsRequested
وonExecuteActionRequested
.
Enum
"SAVE_FOR_OFFLINE"
"OFFLINE_NOT_NECESSARY"
"مشاركة"
ConfigureRequestedOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات المطلوب ضبطه
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
CopyEntryRequestedOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
-
sourcePath
سلسلة
مسار المصدر للإدخال المطلوب نسخه
-
targetPath
سلسلة
مسار الوجهة لعملية النسخ
CreateDirectoryRequestedOptions
الخصائص
-
directoryPath
سلسلة
مسار الدليل المطلوب إنشاؤه
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
تكراري
قيمة منطقية
تحديد ما إذا كانت العملية متكررة (للدلائل فقط)
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
CreateFileRequestedOptions
الخصائص
-
filePath
سلسلة
مسار الملف الذي سيتم إنشاؤه
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
DeleteEntryRequestedOptions
الخصائص
-
entryPath
سلسلة
مسار الإدخال المطلوب حذفه.
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
تكراري
قيمة منطقية
تحديد ما إذا كانت العملية متكررة (للدلائل فقط)
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
EntryMetadata
الخصائص
-
cloudFileInfo
CloudFileInfo اختياري
الإصدار 125 من Chrome والإصدارات الأحدثمعلومات تحدّد ملفًا معيّنًا في نظام تخزين الملفات السحابي الأساسي يجب تقديمها إذا طُلب ذلك في
options
وكان الملف مخزّنًا في السحابة الإلكترونية. -
cloudIdentifier
CloudIdentifier اختياري
الإصدار 117 من Chrome والإصدارات الأحدثتمثيل التخزين السحابي لهذا الإدخال. يجب تقديمها إذا طُلب ذلك في
options
وكان الملف مخزّنًا في السحابة الإلكترونية. بالنسبة إلى الملفات المحلية التي لا يتم الاحتفاظ بنسخة احتياطية منها في مساحة التخزين السحابية، يجب أن تكون غير محدّدة عند طلبها. -
isDirectory
boolean اختياري
صحيح إذا كان دليلًا. يجب تقديمها إذا طُلب ذلك في
options
. -
mimeType
سلسلة اختيارية
نوع MIME الخاص بالإدخال. هذه السمة اختيارية دائمًا، ولكن يجب توفيرها إذا طُلب ذلك في
options
. -
modificationTime
التاريخ اختياري
وقت آخر تعديل لهذا الإدخال يجب تقديمها إذا طُلب ذلك في
options
. -
الاسم
سلسلة اختيارية
اسم هذا الإدخال (وليس اسم المسار الكامل) يجب ألا يحتوي على "/"، ويجب أن يكون فارغًا بالنسبة إلى الجذر. يجب تقديمها إذا طُلب ذلك في
options
. -
الحجم
number اختياري
حجم الملف بالبايت يجب تقديمها إذا طُلب ذلك في
options
. -
صورة مصغّرة
سلسلة اختيارية
صورة مصغّرة كمعرّف موارد موحّد للبيانات بتنسيق PNG أو JPEG أو WEBP، وبحجم 32 كيلوبايت كحد أقصى اختيارية، ولكن يمكن تقديمها فقط عندما يطلبها الحدث
onGetMetadataRequested
بشكل صريح.
ExecuteActionRequestedOptions
الخصائص
-
actionId
سلسلة
معرّف الإجراء المطلوب تنفيذه.
-
entryPaths
string[]
Chrome 47 والإصدارات الأحدثمجموعة مسارات الإدخالات التي سيتم استخدامها في الإجراء.
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
FileSystemInfo
الخصائص
-
displayName
سلسلة
اسم نظام الملفات الذي يمكن للمستخدم قراءته
-
fileSystemId
سلسلة
معرّف نظام الملفات
-
openedFiles
قائمة الملفات المفتوحة حاليًا
-
openedFilesLimit
الرقم
الحد الأقصى لعدد الملفات التي يمكن فتحها في وقت واحد إذا كانت القيمة 0، يعني ذلك أنّ عدد مرات الاستخدام غير محدود.
-
supportsNotifyTag
boolean اختياري
Chrome 45 والإصدارات الأحدثتُستخدَم لتحديد ما إذا كان نظام الملفات يتيح استخدام الحقل
tag
لمراقبة الأدلة. -
المشاهدون
Watcher[]
Chrome 45 والإصدارات الأحدثقائمة المستخدمين الذين يتابعون المشكلة
-
قابل للكتابة
قيمة منطقية
تُستخدَم لتحديد ما إذا كان نظام الملفات يتيح إجراء عمليات قد تغيّر محتوى نظام الملفات (مثل إنشاء الملفات أو حذفها أو الكتابة فيها).
GetActionsRequestedOptions
الخصائص
-
entryPaths
string[]
Chrome 47 والإصدارات الأحدثقائمة بمسارات الإدخالات لقائمة الإجراءات
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
GetMetadataRequestedOptions
الخصائص
-
cloudFileInfo
قيمة منطقية
الإصدار 125 من Chrome والإصدارات الأحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةcloudFileInfo
. -
cloudIdentifier
قيمة منطقية
الإصدار 117 من Chrome والإصدارات الأحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةcloudIdentifier
. -
entryPath
سلسلة
مسار الإدخال الذي سيتم جلب البيانات الوصفية الخاصة به
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
isDirectory
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةis_directory
. -
mimeType
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةmimeType
. -
modificationTime
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةmodificationTime
. -
الاسم
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةname
. -
requestId
الرقم
المعرّف الفريد لهذا الطلب.
-
الحجم
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةsize
. -
صورة مصغّرة
قيمة منطقية
اضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةthumbnail
.
MountOptions
الخصائص
-
displayName
سلسلة
اسم نظام الملفات الذي يمكن للمستخدم قراءته
-
fileSystemId
سلسلة
المعرّف السلسلي لنظام الملفات يجب أن تكون فريدة لكل إضافة.
-
openedFilesLimit
number اختياري
الحد الأقصى لعدد الملفات التي يمكن فتحها في وقت واحد إذا لم يتم تحديد عدد أو تم تحديد 0، لن يتم فرض أي قيود.
-
مستمر
boolean اختياري
Chrome 64 والإصدارات الأحدثتحدّد هذه السمة ما إذا كان يجب أن يستأنف إطار العمل نظام الملفات في جلسة تسجيل الدخول التالية. يكون هذا الخيار مفعّلاً تلقائيًا.
-
supportsNotifyTag
boolean اختياري
Chrome 45 والإصدارات الأحدثتحديد ما إذا كان نظام الملفات يتيح استخدام الحقل
tag
للأدلة التي يتم رصدها -
قابل للكتابة
boolean اختياري
تُستخدَم لتحديد ما إذا كان نظام الملفات يتيح إجراء عمليات قد تغيّر محتوى نظام الملفات (مثل إنشاء الملفات أو حذفها أو الكتابة فيها).
MoveEntryRequestedOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
-
sourcePath
سلسلة
تمثّل هذه السمة مسار المصدر للإدخال الذي سيتم نقله إلى مكان جديد.
-
targetPath
سلسلة
مسار الوجهة لعملية النسخ
NotifyOptions
الخصائص
-
changeType
نوع التغيير الذي حدث في الإدخال المرصود. إذا تم حذف الإدخال، ستتم إزالته تلقائيًا من قائمة الإدخالات التي تم رصدها.
-
التغييرات
Change[] اختياري
قائمة بالتغييرات التي تم إجراؤها على الإدخالات في الدليل الذي تتم مراقبته (بما في ذلك الإدخال نفسه)
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذا التغيير
-
observedPath
سلسلة
مسار الإدخال الذي تم رصده
-
تكراري
قيمة منطقية
وضع الإدخال المرصود
-
علامة
سلسلة اختيارية
علامة الإشعار هذه السمة مطلوبة إذا تم تثبيت نظام الملفات باستخدام الخيار
supportsNotifyTag
. يُرجى العِلم أنّ هذا الخيار ضروري لتقديم إشعارات بشأن التغييرات التي تم إجراؤها حتى عندما كان النظام متوقفًا.
OpenedFile
الخصائص
-
filePath
سلسلة
مسار الملف المفتوح
-
الوضع
تُستخدَم لتحديد ما إذا كان الملف قد تم فتحه للقراءة أو الكتابة.
-
openRequestId
الرقم
معرّف الطلب الذي سيتم استخدامه في طلبات القراءة/الكتابة والإغلاق المتتالية.
OpenFileMode
طريقة فتح ملف يستخدمه onOpenFileRequested
.
Enum
"READ"
"WRITE"
OpenFileRequestedOptions
الخصائص
-
filePath
سلسلة
مسار الملف المطلوب فتحه
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
الوضع
تحديد ما إذا كان سيتم استخدام الملف للقراءة أو الكتابة
-
requestId
الرقم
معرّف الطلب الذي سيتم استخدامه في طلبات القراءة/الكتابة والإغلاق المتتالية
ProviderError
رموز الخطأ المستخدَمة من خلال توفير الإضافات استجابةً للطلبات، وكذلك في حال حدوث أخطاء عند استدعاء طرق واجهة برمجة التطبيقات لتحقيق النجاح، يجب استخدام "OK"
.
Enum
"OK"
"FAILED"
"IN_USE"
"EXISTS"
"NOT_FOUND"
"ACCESS_DENIED"
"TOO_MANY_OPENED"
"NO_MEMORY"
"NO_SPACE"
"NOT_A_DIRECTORY"
"INVALID_OPERATION"
"SECURITY"
"ABORT"
"NOT_A_FILE"
"NOT_EMPTY"
"INVALID_URL"
"IO"
ReadDirectoryRequestedOptions
الخصائص
-
directoryPath
سلسلة
مسار الدليل المطلوب محتواه.
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
isDirectory
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةis_directory
. -
mimeType
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةmimeType
. -
modificationTime
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةmodificationTime
. -
الاسم
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةname
. -
requestId
الرقم
المعرّف الفريد لهذا الطلب.
-
الحجم
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةsize
. -
صورة مصغّرة
قيمة منطقية
Chrome 49 أو إصدار أحدثاضبط القيمة على
true
إذا كان مطلوبًا استخدام قيمةthumbnail
.
ReadFileRequestedOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
length
الرقم
عدد وحدات البايت المطلوب عرضها.
-
offset
الرقم
الموضع في الملف (بالبايت) الذي سيتم بدء القراءة منه.
-
openRequestId
الرقم
معرّف الطلب المستخدَم لفتح الملف
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
RemoveWatcherRequestedOptions
الخصائص
-
entryPath
سلسلة
مسار الإدخال الذي تمت مشاهدته
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
تكراري
قيمة منطقية
وضع المشاهد
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
TruncateRequestedOptions
الخصائص
-
filePath
سلسلة
مسار الملف المطلوب اقتطاعه
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
length
الرقم
عدد وحدات البايت التي سيتم الاحتفاظ بها بعد اكتمال العملية
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
UnmountOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات الذي سيتم إلغاء تحميله
UnmountRequestedOptions
الخصائص
-
fileSystemId
سلسلة
معرّف نظام الملفات الذي سيتم إلغاء تحميله
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
Watcher
الخصائص
-
entryPath
سلسلة
مسار الإدخال الذي تتم مراقبته
-
lastTag
سلسلة اختيارية
العلامة المستخدَمة في آخر إشعار تم إرساله إلى المستخدم الذي يتابع المحتوى
-
تكراري
قيمة منطقية
تحديد ما إذا كان يجب أن يشمل العرض جميع الإدخالات الفرعية بشكل متكرّر يمكن أن ينطبق ذلك على الأدلة فقط.
WriteFileRequestedOptions
الخصائص
-
البيانات
ArrayBuffer
مخزن مؤقت لوحدات البايت التي سيتم كتابتها في الملف
-
fileSystemId
سلسلة
معرّف نظام الملفات المرتبط بهذه العملية
-
offset
الرقم
الموضع في الملف (بالبايت) الذي سيتم بدء كتابة البايتات منه.
-
openRequestId
الرقم
معرّف الطلب المستخدَم لفتح الملف
-
requestId
الرقم
المعرّف الفريد لهذا الطلب.
الطُرق
get()
chrome.fileSystemProvider.get(
fileSystemId: string,
): Promise<FileSystemInfo>
تعرض هذه الطريقة معلومات حول نظام ملفات يتضمّن fileSystemId
الذي تم تمريره.
المعلمات
-
fileSystemId
سلسلة
المرتجعات
-
Promise<FileSystemInfo>
الإصدار 96 من Chrome والإصدارات الأحدث
getAll()
chrome.fileSystemProvider.getAll(): Promise<FileSystemInfo[]>
تعرِض هذه الدالة جميع أنظمة الملفات التي تم تركيبها بواسطة الإضافة.
المرتجعات
-
Promise<FileSystemInfo[]>
الإصدار 96 من Chrome والإصدارات الأحدث
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
): Promise<void>
يربط نظام ملفات بالقيمتَين fileSystemId
وdisplayName
المحدّدتَين. سيتم عرض displayName
في اللوحة اليمنى من تطبيق "الملفات". يمكن أن يحتوي displayName
على أي أحرف، بما في ذلك "/"، ولكن لا يمكن أن يكون سلسلة فارغة. يجب أن يكون displayName
وصفيًا ولكن ليس من الضروري أن يكون فريدًا. يجب ألا تكون قيمة fileSystemId
سلسلة فارغة.
استنادًا إلى نوع نظام الملفات الذي يتم تحميله، يجب ضبط الخيار source
بشكل مناسب.
في حال حدوث خطأ، سيتم ضبط قيمة runtime.lastError
باستخدام رمز الخطأ المناسب.
المعلمات
-
الخيارات
المرتجعات
-
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدث
notify()
chrome.fileSystemProvider.notify(
options: NotifyOptions,
): Promise<void>
يُرسِل إشعارات بشأن التغييرات في الدليل الذي تتم مراقبته في observedPath
في وضع recursive
. إذا تم تحميل نظام الملفات باستخدام supportsNotifyTag
، يجب توفير tag
، ويتم دائمًا تسجيل جميع التغييرات منذ آخر إشعار، حتى إذا تم إيقاف تشغيل النظام. يمكن الحصول على العلامة الأخيرة باستخدام getAll
.
لاستخدام هذه الميزة، يجب ضبط خيار البيان file_system_provider.notify
على "صحيح".
يمكن أن تكون قيمة tag
أي سلسلة فريدة لكل مكالمة، لذا من الممكن تحديد آخر إشعار تم تسجيله. على سبيل المثال، إذا بدأ تشغيل الإضافة بعد إعادة التشغيل، وكانت علامة الإشعار الأخير المسجّل تساوي "123"، يجب أن يتم استدعاء notify
لجميع التغييرات التي حدثت منذ التغيير الذي تم وضع علامة "123" عليه. لا يمكن أن تكون سلسلة فارغة.
لا يمكن لبعض مقدّمي الخدمات توفير علامة، ولكن إذا كان نظام الملفات يتضمّن سجلّ تغييرات، يمكن أن تكون العلامة مثلاً رقم تغيير أو رقم مراجعة.
يُرجى العِلم أنّه في حال تمت إزالة دليل رئيسي، ستتم أيضًا إزالة جميع الإدخالات الفرعية، وإذا كانت تتم مراقبتها، يجب إعلام واجهة برمجة التطبيقات بذلك. بالإضافة إلى ذلك، إذا تمت إعادة تسمية دليل، تتم في الواقع إزالة جميع الإدخالات الفرعية، لأنّه لم يعُد هناك إدخال ضمن مساراتها الأصلية.
في حال حدوث خطأ، سيتم ضبط runtime.lastError
باستخدام رمز خطأ مطابق.
المعلمات
-
الخيارات
المرتجعات
-
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدث
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
): Promise<void>
يؤدي هذا الأمر إلى إلغاء تحميل نظام ملفات باستخدام fileSystemId
المحدّد. يجب طلبها بعد استدعاء onUnmountRequested
. بالإضافة إلى ذلك، يمكن للإضافة الموفِّرة تحديد ما إذا كان سيتم إلغاء التحميل في حال عدم طلبه (على سبيل المثال، في حال فقدان الاتصال أو حدوث خطأ في الملف).
في حال حدوث خطأ، سيتم ضبط قيمة runtime.lastError
باستخدام رمز الخطأ المناسب.
المعلمات
-
الخيارات
المرتجعات
-
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدث
الفعاليات
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب إلغاء عملية باستخدام operationRequestId
. يجب إيقاف العملية التي تم تنفيذها باستخدام operationRequestId
على الفور وتنفيذ successCallback
لطلب الإلغاء هذا. في حال تعذُّر الإلغاء، يجب استدعاء errorCallback
. يُرجى العِلم أنّه يجب عدم استدعاء عمليات الرجوع للعملية الملغاة، لأنّه سيتم تجاهلها. على الرغم من طلب errorCallback
، قد يتم إيقاف الطلب بالقوة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onAddWatcherRequested
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
يتم طرح هذا الاستثناء عند طلب إعداد مراقب دليل جديد. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onCloseFileRequested
chrome.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب إغلاق ملف تم فتحه سابقًا باستخدام openRequestId
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onConfigureRequested
chrome.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
يتم إرسال هذا الحدث عند طلب عرض مربّع حوار إعدادات fileSystemId
. في حال معالجة الخطأ، يجب ضبط file_system_provider.configurable
خيار ملف البيان على "صحيح".
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onCopyEntryRequested
chrome.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
يتم طرح هذا الاستثناء عند طلب نسخ إدخال (بشكل متكرر إذا كان دليلًا). في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onCreateDirectoryRequested
chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
يتم طرح هذا الاستثناء عند طلب إنشاء دليل. يجب أن تفشل العملية مع ظهور الخطأ EXISTS إذا كان دليل الوجهة متوفّرًا من قبل. إذا كانت قيمة recursive
هي true، يجب إنشاء جميع الأدلة الناقصة في مسار الدليل.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onCreateFileRequested
chrome.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب إنشاء ملف. إذا كان الملف متوفّرًا من قبل، يجب استدعاء errorCallback
باستخدام رمز الخطأ "EXISTS"
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onDeleteEntryRequested
chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب حذف إدخال. إذا كانت قيمة recursive
هي "صحيح" وكان الإدخال عبارة عن دليل، يجب أيضًا حذف جميع الإدخالات بداخله بشكل متكرّر.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onExecuteActionRequested
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
يتم طرح هذا الاستثناء عند طلب تنفيذ إجراء لمجموعة من الملفات أو الدلائل. بعد اكتمال الإجراء، يجب استدعاء successCallback
. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onGetActionsRequested
chrome.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
يتم طرح هذا الاستثناء عند طلب قائمة بالإجراءات لمجموعة من الملفات أو الدلائل في entryPaths
. يجب أن تكون جميع الإجراءات التي تم إرجاعها قابلة للتطبيق على كل إدخال. في حال عدم توفّر مثل هذه الإجراءات، يجب عرض مصفوفة فارغة. يجب عرض الإجراءات مع طلب successCallback
. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:(actions: Action[]) => void
-
الإجراءات
Action[]
-
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب البيانات الوصفية لملف أو دليل في entryPath
. يجب عرض البيانات الوصفية مع طلب successCallback
. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: GetMetadataRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:(metadata: EntryMetadata) => void
-
البيانات الوصفية
-
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onMountRequested
chrome.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
يتم تنشيطه عند طلب عرض مربّع حوار لتركيب نظام ملفات جديد. إذا كانت الإضافة أو التطبيق معالج ملفات، يجب عدم التعامل مع هذا الحدث. بدلاً من ذلك، يجب التعامل مع app.runtime.onLaunched
من أجل تحميل أنظمة ملفات جديدة عند فتح ملف. بالنسبة إلى عمليات التحميل المتعددة، يجب ضبط خيار البيان file_system_provider.multiple_mounts
على "صحيح".
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(successCallback: function, errorCallback: function) => void
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
يتم طرح هذا الخطأ عند طلب نقل إدخال (بشكل متكرر إذا كان دليلاً). في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onOpenFileRequested
chrome.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب فتح ملف في filePath
. إذا لم يكن الملف متاحًا، يجب أن يتعذّر إجراء العملية. يمكن تحديد الحد الأقصى لعدد الملفات التي يتم فتحها في وقت واحد باستخدام MountOptions
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:(metadata?: EntryMetadata) => void
-
البيانات الوصفية
EntryMetadata اختياري
-
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onReadDirectoryRequested
chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب محتوى دليل في directoryPath
. يجب عرض النتائج في أجزاء من خلال استدعاء successCallback
عدة مرات. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:(entries: EntryMetadata[], hasMore: boolean) => void
-
الإدخالات
-
hasMore
قيمة منطقية
-
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onReadFileRequested
chrome.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
يتم طرح هذا الخطأ عند طلب قراءة محتوى ملف تم فتحه سابقًا باستخدام openRequestId
. يجب عرض النتائج في أجزاء من خلال استدعاء successCallback
عدة مرات. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:(data: ArrayBuffer, hasMore: boolean) => void
-
البيانات
ArrayBuffer
-
hasMore
قيمة منطقية
-
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onRemoveWatcherRequested
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند الحاجة إلى إزالة أداة المراقبة. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onTruncateRequested
chrome.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
يتم طرح هذا الاستثناء عند طلب اقتطاع ملف إلى طول معيّن. في حال حدوث خطأ، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
يتم عرض هذا الخطأ عند طلب إلغاء تحميل نظام الملفات الذي يحمل المعرّف fileSystemId
. في الردّ، يجب طلب طريقة واجهة برمجة التطبيقات unmount
مع successCallback
. إذا لم يكن من الممكن إلغاء التحميل (على سبيل المثال، بسبب عملية معلّقة)، يجب استدعاء errorCallback
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-
onWriteFileRequested
chrome.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
يتم طرح هذا الخطأ عند طلب كتابة محتوى في ملف تم فتحه سابقًا باستخدام openRequestId
.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
الخيارات
-
successCallback
دالة
تظهر المَعلمة
successCallback
على النحو التالي:() => void
-
errorCallback
دالة
تظهر المَعلمة
errorCallback
على النحو التالي:(error: ProviderError) => void
-
خطأ
-
-