עדכון המניפסט

המרה של מניפסט V2 למניפסט V3

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

שינוי המספר של גרסת המניפסט

משנים את הערך בשדה "manifest_version" מ-2 ל-3.

מניפסט V2
{
  ...
  "manifest_version": 2
  ...
}
מניפסט V3
{
  ...
  "manifest_version": 3
  ...
}

עדכון הרשאות המארח

הרשאות המארח במניפסט מגרסה 3 הן שדה נפרד. לא מציינים אותן ב-"permissions" או ב-"optional_permissions".

סקריפטים של תוכן יישארו מתחת ל-"content_scripts.matches". מידע נוסף על "content_scripts.matches" זמין במאמר הזרקה באמצעות הצהרות סטטיות.

מניפסט V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
מניפסט V3
{
  ...
  "permissions": [
    "tabs",
    "bookmarks"
  ],
  "optional_permissions": [
    "unlimitedStorage"
  ],
  "host_permissions": [
    "https://www.blogger.com/",
  ],
  "optional_host_permissions": [
    "*://*/*",
  ]
  ...
}

עדכון משאבים נגישים באינטרנט

משאבים נגישים באינטרנט הם קבצים בתוך תוסף שאליו ניתן לגשת באמצעות דפי אינטרנט או תוספים אחרים. כפי שהוטמע במניפסט V2, אם התוסף בחר לחשוף משאבים, השדה "web_accessible_resources" מאפשר לאתרים ולתוקפים לזהות תוספים. כך נוצרו הזדמנויות ליצירה של טביעת אצבע דיגיטלית (fingerprinting) או לגישה לא מכוונת למשאבים.

המניפסט V3 מגביל את החשיפה על ידי הגבלת האתרים והתוספים שיכולים לגשת למשאבים בתוסף. במקום לספק רשימת קבצים כמו קודם, אתם מספקים עכשיו מערך אובייקטים, שכל אחד מהם ממפה קבוצה של משאבים לקבוצה של כתובות URL או מזהי תוספים.

בדוגמה הבאה מוצגת השוואה בין משאבים נגישים באינטרנט בין המניפסט V2 לבין המניפסט V3. במניפסט V2, המשאבים שצוינו היו נגישים לכל אתרי האינטרנט כברירת מחדל. בקוד המניפסט V3 שמוצג בהמשך, המשאבים האלה זמינים רק עבור https://example.com, ורק תמונות מסוימות זמינות לכל אתרי האינטרנט.

מידע נוסף זמין במאמרים משאבים נגישים באינטרנט ודפוסי התאמה.

מניפסט V2
{
  ...
  "web_accessible_resources": [
    "images/*",
    "style/extension.css",
    "script/extension.js"
  ],
  ...
}
מניפסט V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}