تتيح لك ميزة "التعامل مع الملفات" ضبط ChromeOS لكي تتمكّن الإضافة من فتح الملفات باستخدام قائمة "فتح" في قائمة الملفات أو قائمة "فتح باستخدام" في قائمة السياق. بعد فتح الملف، يمكنك معالجة بياناته باستخدام Launch Handler API على منصة الويب. بعد ذلك، ستستخدم واجهات برمجة تطبيقات الويب العادية لعرض الملف أو التعامل معه.
التوفّر في الإضافات
الإصدار 120 من ChromeOS أو الإصدارات الأحدث
الأذونات
لا يلزم الحصول على أي أذونات للتعامل مع الملفات.
البيان
عليك إضافة مصفوفة "file_handlers" إلى ملف manifest.json.
السياقات الداعمة
يمكن استخدام واجهة برمجة التطبيقات هذه في عاملي خدمة الإضافات أو النوافذ المنبثقة أو اللوحات الجانبية أو نصوص المحتوى البرمجية.
ضبط معالج ملفات
يحدّد كل عنصر من عناصر "file_handlers"، أي كل معالج ملفات، نوع ملف أو أنواع ملفات ستتم معالجتها بواسطة صفحة إضافة معيّنة.
ستتم إضافة المعالِجات التي تحدّدها إلى نافذة "ملفات" في ChromeOS، وتحديدًا إلى القائمتَين "فتح" و"فتح باستخدام". ولن تظهر هذه الخيارات في هذه القوائم إلا عندما يختار المستخدم ملفًا بالامتداد المحدّد. على سبيل المثال، إذا حدّد معالج الملفات .txt، لن تعرض قوائم ChromeOS هذا المعالج إلا عند اختيار ملف بهذا الامتداد.
معالجة ملف
معالج الملفات هو ملف HTML مضمّن في الإضافة. عندما يختار المستخدم المعالج من القائمة، يتم فتح ملف HTML في علامة تبويب جديدة. تتم معالجة الملف، سواء كنت تعرضه أو تستخدمه بطريقة أخرى، باستخدام JavaScript من خلال واجهات برمجة تطبيقات مناسبة لمنصة الويب. يجب أن يكون رمز المعالجة في ملف JavaScript منفصل ويتم تضمينه من خلال علامة <script>، ويجب أن يكون أيضًا في الإضافة. يستخدم ملف النص البرمجي واجهة LaunchQueue الخاصة بواجهة Launch Handler API للحصول على كائن FileSystemFileHandle.
مثال
يوضّح المثال التالي كيفية الحصول على عنصر FileSystemFileHandle باستخدام واجهة LaunchQueue. لمشاهدة طريقة عمل ميزة "معالجة الملفات"، ثبِّت العرض التوضيحي لميزة "معالجة الملفات".
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````