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

לכל תוסף חייב להיות קובץ 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"
סמל אחד או יותר שמייצגים את התוסף שלך. למידע נוסף על שיטות מומלצות קראו את המאמר סמלים.

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

"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"
הגדרת כללים סטטיים ל-API declarativeNetRequest, שמאפשרים חסימה ושינוי של בקשות רשת.
"default_locale"
מחרוזת שמגדירה את שפת ברירת המחדל של תוסף שתומך במספר לוקאלים. לדוגמה: en ו-pt_BR. המפתח הזה נדרש בתוספים מותאמים לשוק המקומי, ולא ניתן להשתמש בו בתוספים שאינם מותאמים לשוק המקומי. למידע נוסף, אפשר לעיין במאמר Internationalization.
"devtools_page"
הגדרת דפים שנעשה בהם שימוש בממשקי ה-API של DevTools.
"export"
מאפשר ייצוא משאבים מהתוסף. למידע נוסף, ראו ייצוא.
"externally_connectable"
מפרטת אילו דפים ותוספים אחרים יכולים לקשר לתוספים שלך. למידע נוסף, ראו "externally_connectable".
"homepage_url"
מחרוזת שמציינת כתובת URL של דף הבית של התוסף. אם האפשרות הזו לא מוגדרת, ברירת המחדל של דף הבית היא הדף של התוסף בחנות האינטרנט של Chrome. השדה הזה שימושי במיוחד אם מארחים את התוסף באתר שלכם.
"host_permissions"
רשימת דפי האינטרנט שהתוסף יכול לקיים איתם אינטראקציה, המוגדרים באמצעות דפוסי התאמה של כתובות אתרים. הרשאת המשתמש באתרים האלה נדרשת בזמן ההתקנה. כאן אפשר לקרוא מידע נוסף על הרשאות המארח.
"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 של תוספים או גישה ישירה לדפים שאינם בארגז חול. למידע נוסף: Sandbox.
"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". אם לא צוין הערך, הערך 'version' יופיע בדף ניהול התוספים.
"web_accessible_resources"
הגדרת קבצים בתוך התוסף שדפי אינטרנט או תוספים אחרים יכולים לגשת אליהם. למידע נוסף, קראו את המאמר משאבי גישה לאינטרנט.

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

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