תוספים, עיצובים ואפליקציות הם פשוט חבילות של משאבים, ארוזים
קובץ manifest.json שמתאר את תוכן החבילה. הפורמט של הקובץ הזה הוא
יציבה באופן כללי, אבל מדי פעם יש לבצע שינויים שעלולים לגרום לכשל כדי לטפל בבעיות חשובות.
המפתחים צריכים לציין את הגרסה של מפרט המניפסט לפי יעד החבילות שלהם
להגדיר מפתח manifest_version במניפסטים שלהם.
גרסה נוכחית
בשלב הזה, מפתחים צריכים לציין את 'manifest_version': 2:
{
...,
"manifest_version": 2,
...
}
גרסה 1 של המניפסט הוצאה משימוש ב-Chrome 18, והתמיכה תופסק בהדרגתיות בהתאם לפי לוח הזמנים.
לוח זמנים לתמיכה בגרסה 1 של המניפסט
אוגוסט 2012
- חנות האינטרנט תחסום את היצירה של תוספים חדשים לגרסה 1 של המניפסט.
- חנות האינטרנט תאפשר עדכונים לתוספים קיימים של גרסה 1 של המניפסט.
מרץ 2013
- חנות האינטרנט תחסום עדכונים לגרסה 1 של תוסף המניפסט ב-4 במרץ 2013.
אפריל 2013
- Chrome 27 Beta יפסיק לארוז תוספים לגרסה 1 של המניפסט (או לטעון אותם עבור פיתוח).
יוני 2013
- חנות האינטרנט תסיר את תוספי המניפסט של גרסה 1 מהקיר, מתוצאות החיפוש, בדפי קטגוריות.
- הודעות יישלחו באימייל לכל המפתחים שיש להם תוספי מניפסט בגרסה 1 שעדיין נמצאים בחנות להזכיר לו שהפרסום של התוספים האלה יבוטל, וכולל הוראות לעדכון.
ספטמבר 2013
- בחנות האינטרנט תבוטל הפרסום של כל התוספים לגרסה 1 של המניפסט.
- מפתחים עם תוספי מניפסט מגרסה 1 עדיין נמצאים באינטרנט באימייל עם הודעה אחרונה חנות.
- Chrome ימשיך לטעון ולהפעיל תוספים מותקנים של המניפסט בגרסה 1.
ינואר 2014
- Chrome יפסיק לטעון או להפעיל תוספי מניפסט מגרסה 1.
שינויים בין גרסה 1 לגרסה 2
- כברירת מחדל, מדיניות אבטחת תוכן מוגדרת כ-
`script-src 'self'; object-src 'self';. הזה יש מגוון השפעות על מפתחים, כפי שמתואר בהרחבה בcontent_security_policyהתיעוד. - כברירת מחדל, המשאבים של חבילה אינם זמינים יותר לאתרים חיצוניים (בתור
srcשל תמונה, או תגscript). אם אתם רוצים שאתר יוכל לטעון משאב שכלול החבילה, צריך להוסיף אותה באופן מפורש לרשימת ההיתרים דרך המניפסטweb_accessible_resources. הדבר רלוונטי במיוחד לתוספים שבונים ממשק באתר באמצעות סקריפטים של תוכן שהוחדרו. - הנכס
background_pageהוחלף בנכסbackgroundשמכיל נכסscriptsאוpage. פרטים נוספים זמינים בדפי האירועים התיעוד. שינויים בפעולה בדפדפן:
- המפתח
browser_actionsבמניפסט וה-APIchrome.browserActionsנעלמו. משתמשים ב במקום זאת, יש להזיןbrowser_actionו-chrome.browserAction. - המאפיין
iconsשלbrowser_actionהוסר. עליך להשתמש במאפייןdefault_iconאו browserAction.setIcon במקום זאת. - המאפיין
nameשלbrowser_actionהוסר. עליך להשתמש במאפייןdefault_titleאו browserAction.setTitle במקום זאת. - המאפיין
popupשלbrowser_actionהוסר. להשתמש בdefault_popupבמקום זאת או ב-browserAction.setPopup. - אי אפשר יותר לציין את המאפיין
default_popupשלbrowser_actionכאובייקט. הוא חייב להיות מחרוזת.
- המפתח
שינויים בפעולות בדף:
- המפתח
page_actionsבמניפסט וה-APIchrome.pageActionsנעלמו. משתמשים ב במקום זאת, יש להזיןpage_actionו-chrome.pageAction. - המאפיין
iconsשלpage_actionהוסר. צריך להשתמש במאפייןdefault_iconאו במקום זאת, pageAction.setIcon. - המאפיין
nameשלpage_actionהוסר. צריך להשתמש בנכסdefault_titleאו במקום זאת, pageAction.setTitle. - המאפיין
popupשלpage_actionהוסר. עליך להשתמש במאפייןdefault_popupאו pageAction.setPopup. - אי אפשר יותר לציין את המאפיין
default_popupשלpage_actionכאובייקט. חובה להיות מחרוזת.
- המפתח
ממשק ה-API
chrome.selfהוסר. במקום זאת, אתם צריכים להשתמש ב-chrome.extension.chrome.extension.getTabContentses(!!!) ו-chrome.extension.getExtensionTabsנעלמו. כדאי להשתמש extension.getViews.Port.tabלא זמין. במקומו צריך להשתמש ב-runtime.Port.