برنامههای افزودنی، تمها و برنامهها صرفاً مجموعهای از منابع هستند که با یک فایل manifest.json
که محتویات بسته را توصیف میکند، پیچیده شدهاند. فرمت این فایل به طور کلی پایدار است، اما گاهی اوقات باید برای رفع مشکلات مهم تغییراتی ایجاد کرد. توسعهدهندگان باید با تنظیم کلید manifest_version
در مانیفستهایشان، مشخص کنند که بسته آنها کدام نسخه از مشخصات مانیفست را هدف قرار میدهد.
نسخه فعلی
توسعه دهندگان در حال حاضر باید 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
نسخه 1 مانیفست در کروم 18 منسوخ شده است و پشتیبانی طبق برنامه زمانی زیر حذف خواهد شد.
برنامه پشتیبانی مانیفست نسخه 1
آگوست 2012
- فروشگاه وب ایجاد برنامههای افزودنی جدید مانیفست نسخه 1 را مسدود میکند.
- فروشگاه وب امکان بهروزرسانی برنامههای افزودنی نسخه ۱ مانیفست موجود را فراهم میکند.
مارس 2013
- فروشگاه وب بهروزرسانیهای برنامههای افزودنی نسخه ۱ مانیفست را در ۴ مارس ۲۰۱۳ مسدود میکند.
آوریل 2013
- Chrome 27 Beta بستهبندی برنامههای افزودنی نسخه ۱ مانیفست (یا بارگیری آنها برای توسعه) را متوقف میکند.
ژوئن 2013
- فروشگاه وب افزونههای مانیفست نسخه 1 را از صفحات دیوار، نتایج جستجو و دستهبندی حذف میکند.
- ایمیلهای اعلان برای همه برنامهنویسهایی که پسوندهای مانیفست نسخه 1 هنوز در فروشگاه هستند ارسال میشود و به آنها یادآوری میشود که این برنامههای افزودنی منتشر نمیشوند و دستورالعملهای بهروزرسانی ارائه میشوند.
سپتامبر 2013
- فروشگاه وب همه برنامههای افزودنی نسخه ۱ مانیفست را لغو میکند.
- ایمیلهای اخطار نهایی برای توسعهدهندگانی ارسال میشود که پسوندهای مانیفست نسخه 1 هنوز در فروشگاه وب هستند.
- Chrome به بارگیری و اجرای برنامه های افزودنی مانیفست نسخه 1 نصب شده ادامه می دهد.
ژانویه 2014
- Chrome بارگیری یا اجرای برنامههای افزودنی مانیفست نسخه ۱ را متوقف میکند.
بین نسخه 1 و 2 تغییر می کند
- یک خطمشی امنیتی محتوا روی
`script-src 'self'; object-src 'self';
به طور پیش فرض این تأثیرات مختلفی بر توسعه دهندگان دارد که در مستنداتcontent_security_policy
توضیح داده شده است. - منابع یک بسته دیگر به طور پیش فرض برای وب سایت های خارجی (به عنوان
src
یک تصویر یا یک برچسبscript
) در دسترس نیستند. اگر میخواهید یک وبسایت بتواند منبع موجود در بسته شما را بارگیری کند، باید بهصراحت آن را از طریق ویژگی مانیفستweb_accessible_resources
فهرست کنید. این امر مخصوصاً برای برنامههای افزودنی که از طریق اسکریپتهای محتوای تزریقی، رابطی را در یک وبسایت ایجاد میکنند، مرتبط است. - ویژگی
background_page
با یک ویژگیbackground
که شاملscripts
یا ویژگیpage
است جایگزین شده است. جزئیات در مستندات صفحات رویداد موجود است. تغییرات عملکرد مرورگر:
- کلید
browser_actions
در مانیفست وchrome.browserActions
API از بین رفته است. به جای آن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
در مانیفست وchrome.pageActions
API حذف شدهاند. به جای آن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
دیگر نمی تواند به عنوان یک شی مشخص شود. باید یک رشته باشد.
- کلید
chrome.self
API حذف شده است. به جای آنchrome.extension
استفاده کنید.chrome.extension.getTabContentses
(!!!) وchrome.extension.getExtensionTabs
از بین رفته اند. به جای آن از extension.getViews استفاده کنید.Port.tab
از بین رفته است. به جای آن از Runtime.Port استفاده کنید.