פורמט קובץ המניפסט

לכל תוסף חייב להיות קובץ manifest.json בספריית השורש שלו מפרט מידע חשוב על המבנה וההתנהגות של אותו תוסף. בדף הזה נסביר את המבנה של מניפסטים של תוספים ואת התכונות שלהם יכולים לכלול.

דוגמאות

המניפסטים הבאים מציגים את המבנה הבסיסי של המניפסט כנקודת התחלה ליצירת מניפסט משלכם:

מניפסט מינימלי

{
  "manifest_version": 3,
  "name": "Minimal Manifest",
  "version": "1.0.0",
  "description": "A basic example extension with only required keys",
  "icons": {
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
}

רישום סקריפט תוכן

{
  "manifest_version": 3,
  "name": "Run script automatically",
  "description": "Runs a script on www.example.com automatically when user installs the extension",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "content_scripts": [
    {
      "js": [
        "content-script.js"
      ],
      "matches": [
        "http://*.example.com//"
      ]
    }
  ]
}

החדרת סקריפט של תוכן

{
  "manifest_version": 3,
  "name": "Click to run",
  "description": "Runs a script when the user clicks the action toolbar icon.",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "background": {
    "service_worker": "service-worker.js"
  },
  "action": {
    "default_icon": {
      "16": "images/icon-16.png",
      "32": "images/icon-32.png",
      "48": "images/icon-48.png",
      "128": "images/icon-128.png"
    }
  },
  "permissions": ["scripting", "activeTab"]
}
{
  "manifest_version": 3,
  "name": "Popup extension that requests permissions",
  "description": "Extension that includes a popup and requests host permissions and storage permissions .",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "action": {
    "default_popup": "popup.html"
  },
  "host_permissions": [
    "https://*.example.com/"
  ],
  "permissions": [
    "storage"
  ]
}

חלונית צדדית

{
  "manifest_version": 3,
  "name": "Side panel extension",
  "version": "1.0",
  "description": "Extension with a default side panel.",
  "icons": {
    "16": "images/icon-16.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "side_panel": {
    "default_path": "sidepanel.html"
  },
  "permissions": ["sidePanel"]
}

מקשי מניפסט

בהמשך מופיעה רשימה של כל מפתחות המניפסט הנתמכים.

מפתחות שנדרשים על ידי פלטפורמת התוספים

"manifest_version"
מספר שלם שמציין את הגרסה של פורמט קובץ המניפסט לשימושים אחרים. הערך הנתמך היחיד הוא 3.
"name"
מחרוזת שמזהה את התוסף בדפדפן Chrome Google Store, תיבת הדו-שיח 'התקנה' ו- בדף התוספים ל-Chrome של המשתמש (chrome://extensions). האורך המקסימלי הוא 75 תווים. למידע על שימוש בשמות ספציפיים ללוקאל, ראו Internationalization.
"version"
מחרוזת שמתארת את מספר הגרסה של התוסף. לקבלת מידע על הפורמט של מספר הגרסה מופיע בקטע גרסה.

מפתחות שנדרשים על ידי חנות האינטרנט של Chrome

"description"
מחרוזת שמתארת את התוסף גם בחנות האינטרנט של Chrome וגם בחנות האינטרנט של המשתמש בדף ניהול התוספים. האורך המקסימלי הוא 132 תווים. למידע במאמר בנושא התאמה לשוק המקומי, מוסבר איך מבצעים לוקליזציה של תיאורים.
"icons"
סמל אחד או יותר שמייצגים את התוסף שלך. לקבלת מידע על המשחקים הטובים ביותר לשם כך, ראו סמלים.

מקשים אופציונליים

"action"
מגדירים את המראה וההתנהגות של סמל התוסף ב-Google סרגל הכלים. מידע נוסף זמין בכתובת chrome.action.
"author"
מציין את כתובת האימייל של החשבון שדרכו נוצרו לתוסף.
"background"
מציין את קובץ ה-JavaScript שמכיל את Service Worker של התוסף, שפועל בתור גורם שמטפל באירועים. מידע נוסף זמין במאמר מידע על שירות התוספים עובדים.
"chrome_settings_overrides"
מגדירות שינויים בהגדרות Chrome שנבחרו. מידע נוסף זמין במאמר הבא: שינוי של הגדרות Chrome.
"chrome_url_overrides"
מגדירים שינויים בדפי ברירת המחדל של Chrome. מידע נוסף זמין במאמר הבא: שינוי מברירת המחדל של דפי Chrome.
"commands"
מגדירים מקשי קיצור בתוך התוסף. לקבלת מידע נוסף מידע נוסף, אפשר לעיין במאמר chrome.commands.
"content_scripts"
ההגדרה קובעת קובצי JavaScript או CSS שייעשה בהם שימוש כשהמשתמש יפתח דפי אינטרנט מסוימים הדפים האלה. למידע נוסף, ראו סקריפטים של תוכן.
"content_security_policy"
הגדרת הגבלות על הסקריפטים, הסגנונות ומשאבים אחרים של תוסף יכולים להשתמש בה. מידע נוסף זמין במאמר מדיניות אבטחת תוכן.
"cross_origin_embedder_policy"
מציין ערך לכותרת HTTP של Cross-Origin-Embedder-Policy, מגדירה הטמעה של משאבים ממקורות שונים בדף תוסף.
"cross_origin_opener_policy"
מציין ערך לכותרת HTTP של Cross-Origin-Opener-Policy, שמאפשר מוודאים שדף תוסף ברמה העליונה לא משתף הקשר גלישה קבוצה עם מסמכים ממקורות שונים.
"declarative_net_request"
הגדרת כללים סטטיים ל-declarativeNetRequest API שמאפשר חסימה ושינוי של בקשות רשת.
"default_locale"
מחרוזת שמגדירה את שפת ברירת המחדל של תוסף שתומך כמה לוקאלים. דוגמאות: en ו-pt_BR. המפתח הזה נדרש תוספים מותאמים לשוק המקומי, ואין להשתמש בהם בתוספים שאינם מותאמים לשוק המקומי. למידע נוסף, ראו Internationalization.
"devtools_page"
הגדרת דפים שמשתמשים בממשקי ה-API של DevTools.
"export"
אפשרות לייצא משאבים מהתוסף. מידע נוסף זמין במאמר הבא: ייצוא.
"externally_connectable"
קובעים אילו דפים ותוספים אחרים יכולים לחבר לתוספים שלך. עבור למידע נוסף, ראו "externally_connectable".
"homepage_url"
מחרוזת שמציינת כתובת URL לדף הבית של התוסף. אם הוא לא מוגדר, דף הבית מוגדר כברירת מחדל לדף של התוסף בחנות האינטרנט של Chrome. השדה הזה הוא שימושי במיוחד אם אתם מארחים את התוסף באתר שלכם.
"host_permissions"
מפרטת את דפי האינטרנט שהתוסף שלך מורשה לקיים איתם אינטראקציה, המוגדרים באמצעות תבניות התאמה של כתובות URL. בקשת הרשאת המשתמש לאתרים האלה נדרשת בזמן ההתקנה בזמן האימון. למידע נוסף על הרשאות למארחים
"import"
אפשרות לייבא משאבים לתוסף. מידע נוסף זמין במאמר הבא: ייבוא.
"incognito"
מגדירים את אופן הפעולה של התוסף במצב פרטי. הערכים שנתמכים הם: "spanning", "split" וגם "not_allowed". מידע נוסף זמין במאמר הבא: מצב פרטי.
"key"
ציון מזהה התוסף לתרחישי פיתוח שונים. לקבלת מידע נוסף ראו מפתח.
"minimum_chrome_version"
ההגדרה קובעת את הגרסה הישנה ביותר של Chrome שיכולה להתקין את התוסף שלך. הערך חייב להיות מחרוזת משנה של מחרוזת גרסה קיימת של דפדפן Chrome, כמו "107" או "107.0.5304.87". משתמשים עם גרסאות Chrome ישנות יותר לגרסה המינימלית. ניתן לראות את הכיתוב 'לא תואם' בחנות האינטרנט של Chrome, לא ניתן להתקין את התוסף. אם מוסיפים את התג לתוסף קיים, משתמשים שגרסת Chrome שלהם ישנה יותר לא יקבלו עדכונים אוטומטיים לתוסף. זה כולל משתמשים עסקיים ב- פרופיל זמני.
"oauth2"
מאפשר שימוש במזהה אבטחה מסוג OAuth 2.0. הערך של המפתח הזה חייב להיות אובייקט עם המאפיינים "client_id" ו-"scopes". לפרטים נוספים, ראו OAuth מדריך לגרסה 2.0.
"omnibox"
מאפשר לתוסף לרשום מילת מפתח בסרגל הכתובות של Chrome. לקבלת מידע נוסף מידע נוסף, אפשר לעיין בסרגל הכתובות.
"optional_host_permissions"
מצהירה על מארח אופציונלי הרשאות עבור בתוסף שלכם.
"optional_permissions"
מצהירה על הרשאות אופציונליות לתוסף שלכם.
"options_page"
מציין נתיב לקובץ options.html שבו התוסף ישתמש דף האפשרויות. מידע נוסף זמין במאמר מתן גישה למשתמשים אפשרויות.
"options_ui"
ציון נתיב לקובץ HTML שמאפשר למשתמש לשנות את אפשרויות התוסף בדף התוספים ל-Chrome. למידע נוסף ראו מוטמעים אפשרויות.
"permissions"
מאפשרת שימוש בממשקי API מסוימים של תוספים. להרשאות . דפי העזר של ממשקי API נפרדים מפרטים את ההרשאות הנדרשות.
"requirements"
מפרטת את הטכנולוגיות שנדרשות לשימוש בתוסף. לרשימת מוצרים נתמכים הדרישות מפורטות במאמר דרישות.
"sandbox"
מגדירה קבוצה של דפי תוספים שאין להם גישה לממשקי API של תוספים או גישה ישירה לדפים שאינם בארגז חול. מידע נוסף זמין במאמר הבא: ארגז חול.
"short_name"
מחרוזת שמכילה גרסה מקוצרת של שם התוסף לשימוש כשנפח התווים מוגבל. האורך המקסימלי הוא 12 תווים. אם כך גרסה קטועה של השם מוצגים במקום זאת.
"side_panel"
מזהה קובץ HTML להצגה sidePanel.
"storage"
הצהרה על סכימת JSON עבור האחסון המנוהל אזור. לקבלת מידע נוסף מידע נוסף זמין במאמר מניפסט לאזורי אחסון.
"tts_engine"
רישום התוסף כמנוע של טקסט לדיבור. מידע נוסף זמין במאמר הבא: את ממשק ה-API של ttsEngine.
"update_url"
מחרוזת שמכילה את כתובת ה-URL של דף העדכונים של התוסף. שימוש במפתח הזה אם אתם מארחים את התוסף מחוץ לחנות האינטרנט של Chrome.
"version_name"
מחרוזת שמתארת את גרסת התוסף. דוגמאות: "1.0 beta" ו- "build rc2". אם לא צוינה גרסה, ה"גרסה" מוצג במקום זאת.
"web_accessible_resources"
מגדיר קבצים בתוך התוסף שדפי אינטרנט או גורמים אחרים יכולים לגשת אליהם תוספים. למידע נוסף, ראו Web Accessible מקורות מידע.

מקשים אופציונליים של ChromeOS

"file_browser_handlers"
מספק גישה אל fileBrowserHandler API, שמאפשר לתוספים לגשת לדפדפן הקבצים של ChromeOS.
"file_handlers"
מגדירה את סוגי הקבצים לטיפול בתוספי ChromeOS. לקבלת מידע נוסף, ראה file_handlers.
"file_system_provider_capabilities"
מאפשר גישה אל fileSystemProvider API, שמאפשר לתוספים ליצור מערכות קבצים שמערכת ChromeOS יכולה להשתמש בהן.
"input_components"
מאפשר להשתמש בממשק ה-API של עורך שיטות הקלט. מידע נוסף זמין במאמר הבא: input_components