شرح
از chrome.fileSystemProvider API برای ایجاد سیستمهای فایل استفاده کنید که ازطریق مدیر فایل در Chrome OS قابلدسترسی است.
اجازهها
fileSystemProviderدردسترس بودن
برای استفاده از File System Provider API، باید بخش و اجازه «fileSystemProvider» را در مانیفست افزونه اعلام کنید. برای مثال:
{
"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(enum of "file", "device", or "network") - required- منبع داده برای سیستمهای فایل سوارشده.
برنامه Files از اطلاعات بالا برای ارائه مناسب عناصر میانای کاربر مربوطه استفاده میکند. برای مثال، اگر configurable روی «درست» تنظیم شده باشد، گزینه منو برای پیکربندی حجمها ارائه خواهد شد. بهطور مشابه، اگر multiple_mounts روی true تنظیم شده باشد، برنامه Files اجازه میدهد بیشاز یک نقطه نصب ازطریق میانای کاربر اضافه شود. اگر watchable false باشد، دکمه بازآوری ارائه خواهد شد. توجه داشته باشید که درصورت امکان باید پشتیبانی از ناظران را اضافه کنید تا تغییرات در سیستم فایل بتواند فوراً و بهطور خودکار منعکس شود.
نمای کلی
File System Provider API به افزونهها اجازه میدهد از سیستمهای فایل مجازی پشتیبانی کنند که در مدیر فایل در ChromeOS دردسترس هستند. موارد استفاده شامل از حالت فشرده خارج کردن بایگانیها و دسترسی به فایلها در سرویس ابری غیر از Drive است.
درحال سوار کردن سیستمهای فایل
ارائه افزونهها میتواند محتوای سیستم فایل را از منبعی خارجی (مثل سرور راه دور یا دستگاه USB) ارائه دهد یا از فایل محلی (مثل بایگانی) بهعنوان ورودی استفاده کند.
برای نوشتن سیستمهای فایل که کنترلکننده فایل هستند (منبع "file" است)، ارائهدهنده باید برنامه بستهبندیشده باشد، زیرا رویداد onLaunched برای افزونهها دردسترس نیست.
اگر منبع شبکه یا دستگاه باشد، سیستم فایل باید هنگام فراخوانی رویداد onMountRequested سوار شود.
| منبع دادههای سیستم فایل | نقطه ورودی |
|---|---|
"file" |
فقط برای برنامههای بستهبندیشده دردسترس است. |
"device" یا "network" |
onMountRequested |
درحال پیکربندی سیستمهای فایل
سیستمهای فایل ارائهشده پساز سوار شدن میتوانند ازطریق رویداد onConfigureRequested پیکربندی شوند. این ویژگی بهویژه برای سیستمهای فایلی که محتوا را ازطریق شبکه ارائه میدهند مفید است تا اطلاعات کاربری مناسب را تنظیم کنند. رسیدگی به این رویداد اختیاری است.
چرخه زندگی
سیستمهای فایل ارائهشده پساز سوار شدن توسط Chrome بهخاطر سپرده میشوند و پساز راهاندازی مجدد یا بازراهاندازی بهطور خودکار دوباره سوار میشوند. بنابراین، وقتی سیستم فایل توسط افزونه ارائهدهنده سوار میشود، تا زمانی که افزونه بارگیری نشده باشد یا افزونه روش پیاده کردن را فراخوانی کند، باقی میماند.
انواع
AbortRequestedOptions
مشخصات
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
operationRequestId
شماره
شناسه درخواستی که باید لغو شود.
-
requestId
شماره
شناسه یکتای این درخواست.
Action
مشخصات
-
id
رشته
شناسه کنش. هر رشته یا
CommonActionIdبرای کنشهای رایج. -
عنوان
رشته اختیاری
عنوان کنش. ممکن است برای کنشهای رایج نادیده گرفته شود.
AddWatcherRequestedOptions
مشخصات
-
entryPath
رشته
مسیر ورودی که باید مشاهده شود.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
بازگشتی
بولی
اینکه آیا مشاهده باید شامل همه ورودیهای فرزند بهصورت بازگشتی باشد یا نه. این مورد فقط برای دایرکتوریها میتواند درست باشد.
-
requestId
شماره
شناسه یکتای این درخواست.
Change
مشخصات
-
changeType
نوع تغییری که در ورودی اتفاق افتاده است.
-
cloudFileInfo
CloudFileInfo اختیاری
Chrome نسخه ۱۲۵ و بالاتر browser.* از Chrome نسخه ۱۴۸اطلاعات مربوط به فایل درصورت پشتیبانگیری توسط سیستم فایل ابری.
-
entryPath
رشته
مسیر ورودی تغییریافته.
ChangeType
نوع تغییر شناساییشده در دایرکتوری مشاهدهشده.
شمارشی
«تغییریافته»
«DELETED»
CloseFileRequestedOptions
مشخصات
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
openRequestId
شماره
شناسه درخواستی که برای باز کردن فایل استفاده شده است.
-
requestId
شماره
شناسه یکتای این درخواست.
CloudFileInfo
مشخصات
-
versionTag
رشته اختیاری
برچسبی که نشاندهنده نسخه فایل است.
CloudIdentifier
مشخصات
-
id
رشته
شناسه ارائهدهنده برای فایل/دایرکتوری ارائهشده.
-
providerName
رشته
شناسه ارائهدهنده فضای ذخیرهسازی ابری (مثلاً «drive.google.com»).
CommonActionId
فهرست کنشهای رایج. "SHARE" برای همرسانی فایل با دیگران است. "SAVE_FOR_OFFLINE" برای سنجاق کردن (ذخیره کردن برای دسترسی آفلاین). "OFFLINE_NOT_NECESSARY" برای اطلاع دادن اینکه فایل دیگر نیازی به ذخیره شدن برای دسترسی آفلاین ندارد. استفادهشده توسط onGetActionsRequested و onExecuteActionRequested.
شمارشی
"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 اختیاری
Chrome نسخه ۱۲۵ و بالاتر browser.* از Chrome نسخه ۱۴۸اطلاعاتی که فایل خاصی را در سیستم فایل ابری زیربنایی شناسایی میکند. اگر در
optionsدرخواست شده باشد و فایل در فضای ذخیرهسازی ابری پشتیبانگیری شده باشد، باید ارائه شود. -
cloudIdentifier
CloudIdentifier اختیاری
Chrome نسخه ۱۱۷ و بالاتر browser.* از Chrome نسخه ۱۴۸نمایش فضای ذخیرهسازی ابری این ورودی. اگر در
optionsدرخواست شده باشد و فایل در فضای ذخیرهسازی ابری پشتیبانگیری شده باشد، باید ارائه شود. برای فایلهای محلی که در فضای ذخیرهسازی ابری پشتیبانگیری نشدهاند، این مقدار باید هنگام درخواست تعریفنشده باشد. -
isDirectory
بولی اختیاری
اگر دایرکتوری باشد، «درست» است. اگر در
optionsدرخواست شود، باید ارائه شود. -
mimeType
رشته اختیاری
نوع رسانه برای ورودی. همیشه اختیاری است، اما اگر در
optionsدرخواست شود باید ارائه شود. -
modificationTime
تاریخ اختیاری
زمان آخرین اصلاح این ورودی. اگر در
optionsدرخواست شود، باید ارائه شود. -
نام
رشته اختیاری
نام این ورودی (نه نام کامل مسیر). نباید حاوی «/» باشد. برای ریشه باید خالی باشد. اگر در
optionsدرخواست شود، باید ارائه شود. -
اندازه
شماره اختیاری
اندازه فایل به بایت. اگر در
optionsدرخواست شود، باید ارائه شود. -
ریزعکس
رشته اختیاری
تصویر کوچک بهعنوان شناسه منبع یکسان داده در قالب PNG، JPEG، یا WEBP، با حداکثر اندازه ۳۲ کیلوبایت. اختیاری است، اما فقط زمانی میتواند ارائه شود که صریحاً توسط رویداد
onGetMetadataRequestedدرخواست شده باشد.
ExecuteActionRequestedOptions
مشخصات
-
actionId
رشته
شناسه کنشی که باید اجرا شود.
-
entryPaths
string[]
Chrome نسخه ۴۷ و بالاتر browser.* از Chrome نسخه ۱۴۸مجموعه مسیرهای ورودیهایی که برای کنش استفاده میشود.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
requestId
شماره
شناسه یکتای این درخواست.
FileSystemInfo
مشخصات
-
displayName
رشته
نامی قابلخواندن برای انسان برای سیستم فایل.
-
fileSystemId
رشته
شناسه سیستم فایل.
-
openedFiles
فهرست فایلهای بازشده فعلی.
-
openedFilesLimit
شماره
حداکثر تعداد فایلهایی که میتوانند بهطور همزمان باز شوند. اگر ۰ باشد، محدود نیست.
-
supportsNotifyTag
بولی اختیاری
Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸آیا سیستم فایل از فیلد
tagبرای مشاهده دایرکتوریها پشتیبانی میکند یا نه. -
تماشاگران
تماشاگر[]
Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸فهرست ناظران.
-
قابلنوشتن
بولی
اینکه آیا سیستم فایل از عملیاتی که ممکن است محتوای سیستم فایل را تغییر دهد (مانند ایجاد، حذف، یا نوشتن در فایلها) پشتیبانی میکند یا نه.
GetActionsRequestedOptions
مشخصات
-
entryPaths
string[]
Chrome نسخه ۴۷ و بالاتر browser.* از Chrome نسخه ۱۴۸فهرست مسیرهای ورودیها برای فهرست کنشها.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
requestId
شماره
شناسه یکتای این درخواست.
GetMetadataRequestedOptions
مشخصات
-
cloudFileInfo
بولی
Chrome نسخه ۱۲۵ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
cloudFileInfoدرخواست شده است، رویtrueتنظیم کنید. -
cloudIdentifier
بولی
Chrome نسخه ۱۱۷ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
cloudIdentifierدرخواست شده است، رویtrueتنظیم کنید. -
entryPath
رشته
مسیر ورودی برای واکشی فراداده مربوطه.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
isDirectory
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
is_directoryدرخواست شده است، رویtrueتنظیم کنید. -
mimeType
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
mimeTypeدرخواست شده است، رویtrueتنظیم کنید. -
modificationTime
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
modificationTimeدرخواست شده است، رویtrueتنظیم کنید. -
نام
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
nameدرخواست شده است، رویtrueتنظیم کنید. -
requestId
شماره
شناسه یکتای این درخواست.
-
اندازه
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
sizeدرخواست شده است، رویtrueتنظیم کنید. -
ریزعکس
بولی
اگر مقدار
thumbnailدرخواست شده است، رویtrueتنظیم کنید.
MountOptions
مشخصات
-
displayName
رشته
نامی قابلخواندن برای انسان برای سیستم فایل.
-
fileSystemId
رشته
شناسه رشتهای سیستم فایل. باید برای هر افزونه یکتا باشد.
-
openedFilesLimit
شماره اختیاری
حداکثر تعداد فایلهایی که میتوانند بهطور همزمان باز شوند. اگر مشخص نشده باشد یا ۰ باشد، محدودیتی وجود ندارد.
-
دائمی
بولی اختیاری
Chrome نسخه ۶۴ و بالاتر browser.* از Chrome نسخه ۱۴۸آیا چارچوب باید سیستم فایل را در جلسه ورود به سیستم بعدی ازسر بگیرد یا نه. بهطور پیشفرض درست است.
-
supportsNotifyTag
بولی اختیاری
Chrome نسخه ۴۵ و بالاتر browser.* از Chrome نسخه ۱۴۸اینکه آیا سیستم فایل از فیلد
tagبرای دایرکتوریهای مشاهدهشده پشتیبانی میکند یا نه. -
قابلنوشتن
بولی اختیاری
اینکه آیا سیستم فایل از عملیاتی که ممکن است محتوای سیستم فایل را تغییر دهد (مانند ایجاد، حذف، یا نوشتن در فایلها) پشتیبانی میکند یا نه.
MoveEntryRequestedOptions
مشخصات
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
requestId
شماره
شناسه یکتای این درخواست.
-
sourcePath
رشته
مسیر منبع ورودی که باید به مکان جدیدی منتقل شود.
-
targetPath
رشته
مسیر مقصد برای عملیات کپی کردن.
NotifyOptions
مشخصات
-
changeType
نوع تغییری که برای ورودی مشاهدهشده اتفاق افتاده است. اگر «حذفشده» باشد، ورودی مشاهدهشده بهطور خودکار از فهرست ورودیهای مشاهدهشده برداشته خواهد شد.
-
تغییرات
تغییر[] اختیاری
فهرست تغییرات ورودیها در دایرکتوری مشاهدهشده (ازجمله خود ورودی)
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این تغییر.
-
observedPath
رشته
مسیر ورودی مشاهدهشده.
-
بازگشتی
بولی
حالت ورودی مشاهدهشده.
-
برچسب
رشته اختیاری
برچسب اعلان. اگر سیستم فایل با گزینه
supportsNotifyTagسوار شده باشد، الزامی است. توجه داشته باشید که این پرچم برای ارائه اعلان درباره تغییراتی که حتی هنگام خاموش بودن سیستم تغییر کردهاند ضروری است.
OpenedFile
مشخصات
-
filePath
رشته
مسیر فایل بازشده.
-
حالت حملونقل
اینکه فایل برای خواندن باز شده است یا نوشتن.
-
openRequestId
شماره
شناسه درخواستی که باید توسط درخواستهای خواندن/نوشتن و بستن متوالی استفاده شود.
OpenFileMode
حالت باز کردن فایل. مورداستفاده onOpenFileRequested.
شمارشی
«READ»
«نوشتن»
OpenFileRequestedOptions
مشخصات
-
filePath
رشته
مسیر فایلی که باید باز شود.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
حالت حملونقل
اینکه فایل برای خواندن یا نوشتن استفاده خواهد شد.
-
requestId
شماره
شناسه درخواستی که توسط درخواستهای خواندن/نوشتن و بستن متوالی استفاده خواهد شد.
ProviderError
کدهای خطایی که با ارائه افزونهها در پاسخ به درخواستها و همچنین درصورت بروز خطا هنگام فراخوانی روشهای میانای برنامهسازی کاربردی استفاده میشود. برای موفقیت، باید از "OK" استفاده شود.
شمارشی
«تأیید»
"FAILED"
«IN_USE»
"EXISTS"
«NOT_FOUND»
"ACCESS_DENIED"
"TOO_MANY_OPENED"
"NO_MEMORY"
"NO_SPACE"
"NOT_A_DIRECTORY"
"INVALID_OPERATION"
«امنیت»
«لغو»
"NOT_A_FILE"
"NOT_EMPTY"
«INVALID_URL»
«IO»
ReadDirectoryRequestedOptions
مشخصات
-
directoryPath
رشته
مسیر دایرکتوری که محتوای آن درخواست شده است.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
isDirectory
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
is_directoryدرخواست شده است، رویtrueتنظیم کنید. -
mimeType
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
mimeTypeدرخواست شده است، رویtrueتنظیم کنید. -
modificationTime
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
modificationTimeدرخواست شده است، رویtrueتنظیم کنید. -
نام
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
nameدرخواست شده است، رویtrueتنظیم کنید. -
requestId
شماره
شناسه یکتای این درخواست.
-
اندازه
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
sizeدرخواست شده است، رویtrueتنظیم کنید. -
ریزعکس
بولی
Chrome نسخه ۴۹ و بالاتر browser.* از Chrome نسخه ۱۴۸اگر مقدار
thumbnailدرخواست شده است، رویtrueتنظیم کنید.
ReadFileRequestedOptions
مشخصات
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
طول
شماره
تعداد بایتهایی که باید برگردانده شود.
-
جبران کردن
شماره
موقعیت در فایل (به بایت) برای شروع خواندن از آن.
-
openRequestId
شماره
شناسه درخواستی که برای باز کردن فایل استفاده شده است.
-
requestId
شماره
شناسه یکتای این درخواست.
RemoveWatcherRequestedOptions
مشخصات
-
entryPath
رشته
مسیر ورودی تماشاشده.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
بازگشتی
بولی
حالت ناظر.
-
requestId
شماره
شناسه یکتای این درخواست.
TruncateRequestedOptions
مشخصات
-
filePath
رشته
مسیر فایلی که باید کوتاه شود.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
طول
شماره
تعداد بایتهایی که باید پساز تکمیل عملیات حفظ شوند.
-
requestId
شماره
شناسه یکتای این درخواست.
UnmountOptions
مشخصات
-
fileSystemId
رشته
شناسه سیستم فایل برای لغو نصب.
UnmountRequestedOptions
مشخصات
-
fileSystemId
رشته
شناسه سیستم فایل برای لغو نصب.
-
requestId
شماره
شناسه یکتای این درخواست.
Watcher
مشخصات
-
entryPath
رشته
مسیر ورودی درحال مشاهده.
-
lastTag
رشته اختیاری
برچسبی که آخرین اعلان برای ناظر استفاده کرده است.
-
بازگشتی
بولی
اینکه آیا تماشا باید شامل همه ورودیهای فرزند بهصورت بازگشتی باشد یا نه. این مورد فقط برای دایرکتوریها میتواند درست باشد.
WriteFileRequestedOptions
مشخصات
-
داده
ArrayBuffer
بافر بایتهایی که باید در فایل نوشته شود.
-
fileSystemId
رشته
شناسه سیستم فایل مربوط به این عملیات.
-
جبران کردن
شماره
موقعیت در فایل (به بایت) برای شروع نوشتن بایتها از آن.
-
openRequestId
شماره
شناسه درخواستی که برای باز کردن فایل استفاده شده است.
-
requestId
شماره
شناسه یکتای این درخواست.
روشها
get()
browser.fileSystemProvider.get(
fileSystemId: string,
): Promise<FileSystemInfo>
اطلاعات مربوط به سیستم فایل را با fileSystemId ارسالشده برمیگرداند.
پارامترها
-
fileSystemId
رشته
بازگشتیها
-
Promise<FileSystemInfo>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸فراخوانی برگشتی برای دریافت نتیجه تابع
get.
getAll()
browser.fileSystemProvider.getAll(): Promise<FileSystemInfo[]>
همه سیستمهای فایل سوارشده توسط افزونه را برمیگرداند.
بازگشتیها
-
Promise<FileSystemInfo[]>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸فراخوانی برگشتی برای دریافت نتیجه تابع
getAll.
mount()
browser.fileSystemProvider.mount(
options: MountOptions,
): Promise<void>
سیستم فایلی را با fileSystemId و displayName دادهشده سوار میکند. displayName در پانل سمت راست برنامه Files نشان داده خواهد شد. displayName میتواند حاوی هر نویسهای ازجمله «/» باشد، اما نمیتواند رشتهای خالی باشد. displayName باید توصیفی باشد اما لازم نیست منحصربهفرد باشد. fileSystemId نباید رشته خالی باشد.
بسته به نوع سیستم فایل درحال سوار شدن، گزینه source باید بهدرستی تنظیم شود.
درصورت بروز خطا، runtime.lastError با کد خطای مربوطه تنظیم خواهد شد.
پارامترها
-
گزینهها
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸یک فراخوانی برگشتی نتیجه عمومی برای نشان دادن موفقیت یا شکست.
notify()
browser.fileSystemProvider.notify(
options: NotifyOptions,
): Promise<void>
درباره تغییرات در دایرکتوری تحتنظر در observedPath در حالت recursive اطلاع میدهد. اگر سیستم فایل با supportsNotifyTag سوار شده باشد، باید tag ارائه شود و همه تغییرات از آخرین اعلان همیشه گزارش شود، حتی اگر سیستم خاموش شده باشد. آخرین برچسب را میتوان با getAll دریافت کرد.
برای استفاده، گزینه مانیفست file_system_provider.notify باید روی «درست» تنظیم شود.
مقدار tag میتواند هر رشتهای باشد که برای هر تماس منحصربهفرد است، بنابراین میتوان آخرین اعلان ثبتشده را شناسایی کرد. برای مثال، اگر افزونه ارائهدهنده پساز بازراهاندازی شروع شود و برچسب آخرین اعلان ثبتشده برابر با «۱۲۳» باشد، باید notify را برای همه تغییراتی که از زمان تغییر برچسبگذاریشده بهعنوان «۱۲۳» رخ داده است فراخوانی کند. نمیتواند رشته خالی باشد.
همه ارائهدهندگان نمیتوانند برچسب ارائه دهند، اما اگر سیستم فایل دارای گزارش تغییرات باشد، برچسب میتواند مثلاً شماره تغییر یا شماره بازبینی باشد.
توجه داشته باشید که اگر دایرکتوری والد برداشته شود، همه ورودیهای فرزند نیز برداشته میشوند و اگر تحت نظارت باشند، API باید از این موضوع مطلع شود. همچنین، اگر نام فهرست راهنمایی تغییر کند، همه ورودیهای زیرمجموعه آن درواقع برداشته میشوند، زیرا دیگر ورودیای در مسیرهای اصلی آنها وجود ندارد.
درصورت بروز خطا، runtime.lastError با کد خطای مربوطه تنظیم خواهد شد.
پارامترها
-
گزینهها
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸یک فراخوانی برگشتی نتیجه عمومی برای نشان دادن موفقیت یا شکست.
unmount()
browser.fileSystemProvider.unmount(
options: UnmountOptions,
): Promise<void>
سیستم فایل را با fileSystemId دادهشده جدا میکند. باید بعداز فراخوانی onUnmountRequested فراخوانده شود. همچنین، افزونه ارائهدهنده میتواند تصمیم بگیرد که درصورت عدم درخواست (مثلاً درصورت قطع اتصال یا خطای فایل) جداسازی را انجام دهد.
درصورت بروز خطا، runtime.lastError با کد خطای مربوطه تنظیم خواهد شد.
پارامترها
-
گزینهها
بازگشتیها
-
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸یک فراخوانی برگشتی نتیجه عمومی برای نشان دادن موفقیت یا شکست.
رویدادها
onAbortRequested
browser.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
وقتی لغو عملیات با operationRequestId درخواست شود، این خطا ایجاد میشود. عملیات اجراشده با operationRequestId باید فوراً متوقف شود و successCallback این درخواست لغو اجرا شود. اگر لغو کردن ناموفق بود، باید errorCallback فراخوانی شود. توجه داشته باشید که فراخوانیهای برگشتی عملیات لغوشده نباید فراخوانی شوند، زیرا نادیده گرفته خواهند شد. باوجود فراخوانی errorCallback، ممکن است درخواست بهاجبار لغو شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onAddWatcherRequested
browser.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
وقتی درخواست تنظیم ناظر دایرکتوری جدیدی داده میشود، این رویداد ایجاد میشود. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onCloseFileRequested
browser.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
وقتی مطرح میشود که باز کردن فایلی که قبلاً با openRequestId باز شده است درخواست بسته شدن داشته باشد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onConfigureRequested
browser.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
وقتی درخواست نمایش کادر گفتگوی پیکربندی برای fileSystemId مطرح میشود، این رویداد فعال میشود. اگر مدیریت میشود، گزینه مانیفست file_system_provider.configurable باید روی true تنظیم شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onCopyEntryRequested
browser.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
وقتی کپی کردن ورودی (بهصورت بازگشتی اگر دایرکتوری باشد) درخواست شود، این رویداد برانگیخته میشود. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onCreateDirectoryRequested
browser.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
وقتی ایجاد دایرکتوری درخواست شود، این رویداد فعال میشود. اگر فهرست راهنمای هدف ازقبل وجود داشته باشد، عملیات باید با خطای EXISTS ناموفق شود. اگر recursive درست باشد، همه دایرکتوریهای مفقود در مسیر دایرکتوری باید ایجاد شوند.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onCreateFileRequested
browser.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
وقتی ایجاد فایل درخواست شود، این رویداد فعال میشود. اگر فایل ازقبل وجود داشته باشد، errorCallback باید با کد خطای "EXISTS" فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onDeleteEntryRequested
browser.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
وقتی درخواست حذف ورودی داده میشود، این رویداد فعال میشود. اگر recursive درست باشد و ورودی یک دایرکتوری باشد، همه ورودیهای داخل آن نیز باید بهصورت بازگشتی حذف شوند.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onExecuteActionRequested
browser.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
وقتی اجرای کنشی برای مجموعهای از فایلها یا دایرکتوریها درخواست میشود، این خطا ایجاد میشود. پساز تکمیل کنش، باید successCallback فراخوانی شود. درصورت بروز خطا، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onGetActionsRequested
browser.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
وقتی فهرست کنشها برای مجموعهای از فایلها یا دایرکتوریها در entryPaths درخواست شود، این رویداد ایجاد میشود. همه کنشهای برگرداندهشده باید برای هر ورودی قابلاجرا باشند. اگر چنین کنشهایی وجود ندارد، باید آرایه خالی برگردانده شود. کنشها باید با تماس successCallback برگردانده شود. درصورت بروز خطا، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:(actions: Action[]) => void
-
کنشها
کنش[]
-
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onGetMetadataRequested
browser.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
وقتی فراداده فایل یا دایرکتوری در entryPath درخواست شود، این رویداد فعال میشود. فراداده باید با تماس successCallback برگردانده شود. درصورت بروز خطا، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: GetMetadataRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:(metadata: EntryMetadata) => void
-
فوق داده
-
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onMountRequested
browser.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
وقتی نمایش کادر گفتگویی برای سوار کردن سیستم فایل جدید درخواست شود، این رویداد برانگیخته میشود. اگر افزونه/برنامه یک کنترلکننده فایل باشد، این رویداد نباید کنترل شود. درعوض، app.runtime.onLaunched باید بهگونهای مدیریت شود که هنگام باز شدن فایل، سیستمهای فایل جدید سوار شوند. برای چند بار سوار کردن، گزینه مانیفست file_system_provider.multiple_mounts باید روی درست تنظیم شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(successCallback: function, errorCallback: function) => void
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onMoveEntryRequested
browser.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
وقتی درخواست انتقال ورودی (بهصورت بازگشتی اگر دایرکتوری باشد) داده میشود، این رویداد فعال میشود. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onOpenFileRequested
browser.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
وقتی باز کردن فایل در filePath درخواست شود، این رویداد ایجاد میشود. اگر فایل وجود نداشته باشد، عملیات باید ناموفق باشد. حداکثر تعداد فایلهایی که میتوانند بهطور همزمان باز شوند را میتوان با MountOptions مشخص کرد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:(metadata?: EntryMetadata) => void
-
فوق داده
EntryMetadata اختیاری
-
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onReadDirectoryRequested
browser.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
وقتی محتوای دایرکتوری در directoryPath درخواست شود، این خطا ایجاد میشود. نتایج باید با چندبار فراخوانی successCallback بهصورت تکهتکه برگردانده شود. درصورت بروز خطا، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:(entries: EntryMetadata[], hasMore: boolean) => void
-
ورودیها
-
hasMore
بولی
-
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onReadFileRequested
browser.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
وقتی خواندن محتوای فایلی که قبلاً با openRequestId باز شده است درخواست شود، این خطا ایجاد میشود. نتایج باید با چند بار فراخوانی successCallback بهصورت تکهتکه برگردانده شود. درصورت بروز خطا، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:(data: ArrayBuffer, hasMore: boolean) => void
-
داده
ArrayBuffer
-
hasMore
بولی
-
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onRemoveWatcherRequested
browser.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
وقتی ناظر باید برداشته شود، این رویداد فعال میشود. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onTruncateRequested
browser.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
وقتی درخواست میشود فایلی به طول دلخواه کوتاه شود، این خطا ایجاد میشود. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onUnmountRequested
browser.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
وقتی لغو سوار کردن برای سیستم فایل با شناسه fileSystemId درخواست شود، این رویداد برانگیخته میشود. در پاسخ، روش میانای برنامهسازی کاربردی unmount باید همراه با successCallback فراخوانی شود. اگر لغو نصب امکانپذیر نباشد (مثلاً بهدلیل عملیات معلق)، باید errorCallback فراخوانی شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-
onWriteFileRequested
browser.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
وقتی نوشتن محتوا در فایلی که قبلاً با openRequestId باز شده است درخواست شود، این خطا ایجاد میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
گزینهها
-
successCallback
عملکرد
پارامتر
successCallbackبهصورت زیر است:() => void
-
errorCallback
عملکرد
پارامتر
errorCallbackبهصورت زیر است:(error: ProviderError) => void
-
خطا
-
-