ส่วนขยาย ธีม และแอปพลิเคชันต่างๆ เป็นเพียงชุดของทรัพยากรที่สรุปด้วย
manifest.json
ที่อธิบายเนื้อหาของแพ็กเกจ รูปแบบของไฟล์นี้คือ
ที่เสถียร แต่บางครั้งก็ต้องทำการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบเพื่อจัดการกับปัญหาที่สำคัญ
นักพัฒนาแอปควรระบุเวอร์ชันข้อมูลจำเพาะของไฟล์ Manifest เป้าหมายแพ็กเกจของตน
การตั้งค่าคีย์ manifest_version
ในไฟล์ Manifest
เวอร์ชันปัจจุบัน
ปัจจุบันนักพัฒนาแอปควรระบุ 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
ไฟล์ Manifest เวอร์ชัน 1 ถูกเลิกใช้งานใน Chrome 18 และระบบจะเลิกรองรับตาม ตามกำหนดการต่อไปนี้
กำหนดการสนับสนุนไฟล์ Manifest เวอร์ชัน 1
สิงหาคม 2012
- เว็บสโตร์จะบล็อกการสร้างส่วนขยายไฟล์ Manifest เวอร์ชัน 1 ใหม่
- เว็บสโตร์จะอนุญาตให้มีการอัปเดตส่วนขยายไฟล์ Manifest เวอร์ชัน 1 ที่มีอยู่
มีนาคม 2556
- เว็บสโตร์จะบล็อกการอัปเดตส่วนขยายของไฟล์ Manifest เวอร์ชัน 1 ในวันที่ 4 มีนาคม 2013
เมษายน 2013
- Chrome 27 เบต้าจะหยุดรวมส่วนขยายไฟล์ Manifest เวอร์ชัน 1 (หรือโหลดส่วนขยายดังกล่าว เพื่อการพัฒนา)
มิถุนายน 2013
- เว็บสโตร์จะนำส่วนขยายไฟล์ Manifest เวอร์ชัน 1 ออกจากหน้าจอ ผลการค้นหา และ หน้าหมวดหมู่
- ระบบจะส่งอีเมลประกาศถึงนักพัฒนาแอปทุกรายที่มีส่วนขยายไฟล์ Manifest เวอร์ชัน 1 ที่ยังอยู่ใน Store เป็นการย้ำเตือนว่าเราจะยกเลิกการเผยแพร่ส่วนขยายเหล่านี้และบอกวิธีการอัปเดต
กันยายน 2013
- เว็บสโตร์จะเลิกเผยแพร่ส่วนขยายไฟล์ Manifest เวอร์ชัน 1 ทั้งหมด
- ระบบจะส่งอีเมลแจ้งเตือนครั้งสุดท้ายถึงนักพัฒนาแอปที่มีส่วนขยายไฟล์ Manifest เวอร์ชัน 1 ที่ยังอยู่ในเว็บ Store
- Chrome จะยังคงโหลดและเรียกใช้ส่วนขยายไฟล์ Manifest เวอร์ชัน 1 ที่ติดตั้งไว้
มกราคม 2014
- Chrome จะหยุดโหลดหรือเรียกใช้ส่วนขยายไฟล์ Manifest เวอร์ชัน 1
การเปลี่ยนแปลงระหว่างเวอร์ชัน 1 และ 2
- นโยบายรักษาความปลอดภัยเนื้อหาจะตั้งค่าเป็น
`script-src 'self'; object-src 'self';
โดยค่าเริ่มต้น ช่วงเวลานี้ ส่งผลหลายอย่างต่อนักพัฒนาแอปตามที่อธิบายไว้ในcontent_security_policy
เอกสารประกอบ - ทรัพยากรของแพ็กเกจจะไม่สามารถใช้งานได้โดยค่าเริ่มต้นสำหรับเว็บไซต์ภายนอกอีกต่อไป (ในฐานะ
src
ของ รูปภาพหรือแท็กscript
) หากคุณต้องการให้เว็บไซต์สามารถโหลดแหล่งข้อมูลที่อยู่ใน คุณจะต้องเพิ่มรายการที่อนุญาตอย่างชัดเจนผ่านไฟล์ Manifest ของweb_accessible_resources
โดยเฉพาะอย่างยิ่งสำหรับส่วนขยายที่สร้างอินเทอร์เฟซบนเว็บไซต์ ผ่านสคริปต์เนื้อหาที่แทรกเข้ามา - ระบบได้แทนที่พร็อพเพอร์ตี้
background_page
ด้วยพร็อพเพอร์ตี้background
ที่มี พร็อพเพอร์ตี้scripts
หรือpage
ดูรายละเอียดได้ในหน้ากิจกรรม เอกสารประกอบ การเปลี่ยนแปลงการทำงานของเบราว์เซอร์:
- คีย์
browser_actions
ในไฟล์ Manifest และ 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
ในไฟล์ Manifest และ 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 แทน