תאריך הרענון: 2026-09-25 robots: noindex
תיאור
משתמשים ב-API chrome.fileBrowserHandler כדי להרחיב את סייר הקבצים של ChromeOS. לדוגמה, אתם יכולים להשתמש ב-API הזה כדי לאפשר למשתמשים להעלות קבצים לאתר שלכם.
הרשאות
fileBrowserHandlerזמינות
דפדפן הקבצים של ChromeOS מופיע כשמשתמש לוחץ על Alt+Shift+M או מחבר התקן אחסון חיצוני, כמו כרטיס SD, כונן USB, כונן חיצוני או מצלמה דיגיטלית. בנוסף להצגת הקבצים במכשירים חיצוניים, דפדפן הקבצים יכול גם להציג קבצים שהמשתמש שמר בעבר במערכת.
כשמשתמש בוחר קובץ אחד או יותר, בדפדפן הקבצים מתווספים לחצנים שמייצגים את ה-handlers התקפים של הקבצים האלה. לדוגמה, בצילום המסך הבא, בחירת קובץ עם הסיומת '.png' מובילה להצגת הלחצן 'שמירה בגלריה' שהמשתמש יכול ללחוץ עליו.

מניפסט
צריך להצהיר על ההרשאה fileBrowserHandler במניפסט התוסף, ולהשתמש בשדה file_browser_handlers כדי לרשום את התוסף כ-handler של לפחות סוג קובץ אחד. כדאי גם לספק סמל בגודל 16x16 שיוצג על הלחצן. לדוגמה:
{
"name": "My extension",
...
"file_browser_handlers": [
{
"id": "upload",
"default_title": "Save to Gallery", // What the button will display
"file_filters": [
"filesystem:*.jpg", // To match all files, use "filesystem:*.*"
"filesystem:*.jpeg",
"filesystem:*.png"
]
}
],
"permissions" : [
"fileBrowserHandler"
],
"icons": {
"16": "icon16.png",
"48": "icon48.png",
"128": "icon128.png"
},
...
}
הטמעה של handler של מנהל הקבצים והתיקיות
כדי להשתמש ב-API הזה, צריך להטמיע פונקציה שמטפלת באירוע onExecute של chrome.fileBrowserHandler. הפונקציה שלכם תופעל בכל פעם שהמשתמש ילחץ על הכפתור שמייצג את ה-handler של דפדפן הקבצים. בפונקציה, משתמשים ב-File System API כדי לקבל גישה לתוכן הקובץ. לדוגמה:
chrome.fileBrowserHandler.onExecute.addListener(async (id, details) => {
if (id !== 'upload') {
return; // check if you have multiple file_browser_handlers
}
for (const entry of detail.entries) {
// the FileSystemFileEntry doesn't have a Promise API, wrap in one
const file = await new Promise((resolve, reject) => {
entry.file(resolve, reject);
});
const buffer = await file.arrayBuffer();
// do something with buffer
}
});
מועברים שני ארגומנטים לגורם המטפל באירועים:
- id [מזהה]
- הערך של 'id' מקובץ המניפסט. אם התוסף שלכם מטמיע כמה פונקציות handler, תוכלו לבדוק את ערך ה-ID כדי לראות איזו פונקציית handler הופעלה.
- פרטים
- אובייקט שמתאר את האירוע. אפשר לקבל את הקובץ או הקבצים שהמשתמש בחר מהשדה
entriesשל האובייקט הזה, שהוא מערך של אובייקטים מסוגFileSystemFileEntry.
סוגים
FileHandlerExecuteEventDetails
המטען הייעודי (payload) של פרטי האירוע עבור האירוע fileBrowserHandler.onExecute.
מאפיינים
-
entries
any[]
מערך של מופעי Entry שמייצגים קבצים שהם יעדים של הפעולה הזו (נבחרו בדפדפן הקבצים של ChromeOS).
-
tab_id
מספר אופציונלי
המזהה של הכרטיסייה שבה האירוע הזה קרה. מזהי הכרטיסיות הם ייחודיים בסשן דפדפן.
אירועים
onExecute
chrome.fileBrowserHandler.onExecute.addListener(
callback: function,
)
מופעל כשפעולה במערכת הקבצים מבוצעת מדפדפן הקבצים של ChromeOS.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(id: string, details: FileHandlerExecuteEventDetails) => void
-
id [מזהה]
מחרוזת
-