תוספים, עיצובים ואפליקציות הם פשוט חבילות של משאבים, שארוזים עם קובץ manifest.json
שמתאר את תוכן החבילה. הפורמט של הקובץ הזה יציב בדרך כלל, אבל מדי פעם צריך לבצע שינויים פגומים על מנת לטפל בבעיות חשובות.
מפתחים צריכים לציין לאיזו גרסה של מפרט המניפסט את יעדי החבילה שלהם יש להגדיר מפתח manifest_version
במניפסטים.
גירסה נוכחית
נכון לעכשיו, מפתחים צריכים לציין 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
גרסה 1 של המניפסט הוצאה משימוש ב-Chrome 18, והתמיכה תופסק בהדרגתיות לפי לוח הזמנים הבא.
לוח זמנים לתמיכה בגרסה 1 של המניפסט
אוגוסט 2012
- בחנות האינטרנט ייחסם היצירה של תוספים חדשים לגרסת המניפסט 1.
- חנות האינטרנט תאפשר עדכונים לתוספים קיימים של גרסה 1 של המניפסט.
מרץ 2013
- ב-4 במרץ 2013 ייחסמו בחנות האינטרנט עדכונים לתוספים של גרסת מניפסט 1.
אפריל 2013
- גרסת הבטא של Chrome 27 תפסיק לארוז תוספים מגרסה 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
במניפסט וה-API שלchrome.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
במניפסט וה-API שלchrome.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.