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

לכל תוסף צריך להיות קובץ 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, בתיבת הדו-שיח להתקנה ובדף התוספים של Chrome של המשתמש (chrome://extensions). האורך המקסימלי הוא 75 תווים. מידע על שימוש בשמות ספציפיים ללוקאל זמין במאמר בנושא התאמה לשוק המקומי.
"version"
מחרוזת שמזהה את מספר הגרסה של התוסף. מידע על הפורמט של מספר הגרסה זמין במאמר בנושא גרסה.

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

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

מפתחות אופציונליים

"action"
הגדרת המראה וההתנהגות של סמל התוסף בסרגל הכלים של Google. מידע נוסף זמין במאמר chrome.action.
"background"
מציין את קובץ ה-JavaScript שמכיל את קובץ השירות (service worker) של התוסף, שפועל כגורם מטפל באירועים. מידע נוסף זמין במאמר מידע על קובצי שירות (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_opener_policy"
מציינת ערך לכותרת ה-HTTP של מדיניות חלונות קופצים ממקורות שונים, שמאפשרת לוודא שדף של תוסף ברמה העליונה לא משתף קבוצת הקשר של גלישה עם מסמכים ממקורות שונים.
"declarative_net_request"
הגדרת כללים סטטיים ל-API‏ declarativeNetRequest, שמאפשר חסימה ושינוי של בקשות רשת.
"default_locale"
מחרוזת שמגדירה את שפת ברירת המחדל של תוסף שתומך בכמה לוקאלים. לדוגמה, 'en' ו-'pt_BR'. המפתח הזה נדרש בתוספים שעברו לוקליזציה, ואסור להשתמש בו בתוספים שלא עברו לוקליזציה. מידע נוסף זמין במאמר בנושא התאמה לשוק המקומי.
"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"
Specifies a path to an options.html file for the extension to use as an options page. מידע נוסף זמין במאמר בנושא מתן אפשרויות למשתמשים.
"options_ui"
מציין נתיב לקובץ HTML שמאפשר למשתמש לשנות את אפשרויות התוסף מדף התוספים ב-Chrome. מידע נוסף זמין במאמר בנושא אפשרויות להטמעה.
"permissions"
מאפשר שימוש בממשקי API מסוימים של תוספים. הסבר כללי על הרשאות מופיע במאמר הרשאות. בדפי ההפניה של ממשקי API נפרדים מפורטות ההרשאות הנדרשות.
"requirements"
רשימת הטכנולוגיות שנדרשות לשימוש בתוסף. רשימת הדרישות הנתמכות מופיעה כאן.
"sandbox"
הגדרה של קבוצת דפים של תוספים שאין להם גישה לממשקי API של תוספים או גישה ישירה לדפים שלא נמצאים בארגז חול. מידע נוסף זמין במאמר בנושא ארגז חול.
"short_name"
מחרוזת שמכילה גרסה מקוצרת של שם התוסף, לשימוש במקרים שבהם יש מגבלה על מספר התווים. האורך המקסימלי הוא 12 תווים. אם הערך לא מוגדר, מוצגת גרסה קצרה של המפתח name.
"side_panel"
מזהה קובץ HTML לתצוגה בsidePanel.
"storage"
מגדיר סכימת JSON עבור אזור האחסון המנוהל. מידע נוסף מופיע במאמר מניפסט לאזורי אחסון.
"tts_engine"
רושם את התוסף כמנוע המרת טקסט לדיבור. מידע נוסף זמין במאמר בנושא ttsEngine API.
"update_url"
מחרוזת שמכילה את כתובת ה-URL של דף העדכונים של התוסף. משתמשים במפתח הזה אם מאחסנים את התוסף מחוץ לחנות האינטרנט של Chrome.
"version_name"
מחרוזת שמתארת את גרסת התוסף. לדוגמה, "1.0 beta" ו-"build rc2". אם לא מציינים את הערך הזה, הערך של 'גרסה' מוצג בדף הניהול של התוסף.
"web_accessible_resources"
הגדרה של קבצים בתוסף שאפשר לגשת אליהם מדפי אינטרנט או מתוספים אחרים. מידע נוסף זמין במאמר בנושא משאבים שנגישים באינטרנט.

מפתחות אופציונליים של ChromeOS

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