הטיפול בקבצים מאפשר לכם להגדיר את ChromeOS כך שהתוסף יוכל לפתוח קבצים באמצעות התפריט 'פתיחה' בתפריט הקובץ או התפריט 'פתיחה באמצעות' בתפריט ההקשר. אחרי שפותחים את הקובץ, מעבדים את הנתונים שלו באמצעות Launch Handler API של פלטפורמת האינטרנט. לאחר מכן תשתמשו בממשקי API רגילים של פלטפורמת האינטרנט כדי להציג את הקובץ או לטפל בו.
זמינות בתוספים
ChromeOS 120 ואילך.
הרשאות
לא נדרשות הרשאות לטיפול בקבצים.
מניפסט
צריך להוסיף את המערך "file_handlers" לקובץ manifest.json.
הקשרים התומכים
אפשר להשתמש ב-API הזה בסקריפטים של תוכן, בחלוניות צדדיות, בחלונות קופצים או בסקריפטים של עובדי שירות של תוספים.
הגדרת handler של קובץ
כל רכיב ב-"file_handlers" – כלומר כל file handler – מציין סוג קובץ אחד או יותר שיטופלו על ידי דף הרחבה ספציפי.
ההנדלרים שציינתם יתווספו לחלון 'קבצים' ב-ChromeOS, ובאופן ספציפי לתפריטים 'פתיחה' ו'פתיחה באמצעות'. הן יופיעו בתפריטים האלה רק כשהמשתמש יבחר קובץ עם הסיומת הספציפית. לדוגמה, אם handler של קובץ מציין .txt, התפריטים של ChromeOS יציגו את ה-handler הזה רק כשבוחרים קובץ עם הסיומת הזו.
עיבוד קובץ
הקובץ לטיפול בקבצים הוא קובץ HTML שנמצא בתוך התוסף. כשהמשתמש בוחר את ה-handler שלכם מתוך תפריט, קובץ ה-HTML נפתח בכרטיסייה חדשה. העיבוד של הקובץ, בין אם הוא מוצג או משמש למטרה אחרת, מתבצע באמצעות JavaScript באמצעות ממשקי API מתאימים של פלטפורמת האינטרנט. קוד העיבוד צריך להיות בקובץ 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];
});
}
``````