טיפול בקבצים במערכת ההפעלה של Chrome

טיפול בקבצים מאפשר לך להגדיר את ChromeOS כך שהתוסף יוכל לפתוח קבצים באמצעות התפריט 'פתח' של תפריט הקבצים, או באמצעות התפריט 'פתח באמצעות' של תפריט ההקשר. אחרי הפתיחה, מעבדים את נתוני הקובץ באמצעות Launch Handler API של פלטפורמת האינטרנט. לאחר מכן תצטרכו להשתמש בממשקי API רגילים של פלטפורמת האינטרנט כדי להציג את הקובץ או לטפל בו.

רכיב handler נוסף של קבצים בתפריט הפתיחה של ChromeOS.
רכיב handler של קבצים נוסף לתפריט הפתיחה של ChromeOS.

זמינות בתוספים

ChromeOS מגרסה 120 ואילך.

הרשאות

אין צורך בהרשאות כדי לטפל בקבצים.

מניפסט

עליכם להוסיף את המערך "file_handlers" לקובץ המניפסט.

הקשרים תומכים

ניתן להשתמש ב-API הזה ב-service worker של תוספים, בחלונות קופצים, בחלוניות צדדיות או בסקריפטים של תוכן.

הגדרת handler של קבצים

כל חבר ב-"file_handlers" — כלומר כל מטפל בקבצים — מציין את סוג הקובץ או את סוגי הקבצים שיטופלו על ידי דף של תוסף ספציפי.

רכיבי ה-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];
  });
}
``````