Các tiện ích, giao diện và ứng dụng chỉ đơn giản là những nhóm tài nguyên, được gói gọn bằng một
Tệp manifest.json
mô tả nội dung của gói. Định dạng của tệp này là
thường ổn định, nhưng đôi khi bạn cũng phải thực hiện các thay đổi có thể gây lỗi để giải quyết những vấn đề quan trọng.
Nhà phát triển nên chỉ định phiên bản đặc tả tệp kê khai mà gói của họ nhắm mục tiêu
thiết lập khoá manifest_version
trong tệp kê khai.
Phiên bản hiện tại
Hiện tại, nhà phát triển nên chỉ định 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
Tệp kê khai phiên bản 1 đã không còn được dùng trong Chrome 18 và dịch vụ hỗ trợ sẽ bị loại bỏ theo theo lịch trình sau đây.
Lịch hỗ trợ tệp kê khai phiên bản 1
Tháng 8 năm 2012
- Cửa hàng trực tuyến sẽ chặn việc tạo tiện ích tệp kê khai phiên bản 1 mới.
- Cửa hàng trực tuyến sẽ cho phép cập nhật các tiện ích tệp kê khai phiên bản 1 hiện có.
Tháng 3 năm 2013
- Cửa hàng trực tuyến sẽ chặn các bản cập nhật cho tiện ích tệp kê khai phiên bản 1 vào ngày 4 tháng 3 năm 2013.
Tháng 4 năm 2013
- Chrome 27 Beta sẽ ngừng đóng gói tiện ích tệp kê khai phiên bản 1 (hoặc tải các tiện ích đó cho phát triển).
Tháng 6 năm 2013
- Cửa hàng trực tuyến sẽ xoá các tiện ích tệp kê khai phiên bản 1 khỏi tường, kết quả tìm kiếm và các trang danh mục.
- Chúng tôi sẽ gửi thông báo qua email cho tất cả nhà phát triển có tiện ích tệp kê khai phiên bản 1 vẫn còn trong cửa hàng để nhắc họ rằng các tiện ích này sẽ bị huỷ phát hành và cung cấp hướng dẫn cập nhật.
Tháng 9 năm 2013
- Cửa hàng trực tuyến sẽ hủy xuất bản tất cả tiện ích tệp kê khai phiên bản 1.
- Email thông báo cuối cùng sẽ được gửi cho những nhà phát triển có tiện ích tệp kê khai phiên bản 1 vẫn còn trên web Cửa hàng.
- Chrome sẽ tiếp tục tải và chạy các tiện ích tệp kê khai phiên bản 1 đã cài đặt.
Tháng 1 năm 2014
- Chrome sẽ ngừng tải hoặc chạy các tiện ích tệp kê khai phiên bản 1.
Các thay đổi giữa phiên bản 1 và 2
- Theo mặc định, chính sách bảo mật nội dung được đặt thành
`script-src 'self'; object-src 'self';
. Chiến dịch này có nhiều tác động đối với các nhà phát triển, được mô tả chi tiết trongcontent_security_policy
tài liệu. - Theo mặc định, tài nguyên của gói không còn có sẵn ở các trang web bên ngoài (dưới dạng
src
của hình ảnh hoặc thẻscript
). Nếu bạn muốn một trang web có thể tải tài nguyên có trong bạn sẽ cần đưa gói đó vào danh sách cho phép một cách rõ ràng thông qua tệp kê khaiweb_accessible_resources
. Điều này đặc biệt có liên quan đối với các tiện ích xây dựng giao diện trên một trang web thông qua các tập lệnh nội dung được chèn. - Thuộc tính
background_page
đã được thay thế bằng thuộc tínhbackground
có chứa thuộc tínhscripts
hoặcpage
. Bạn có thể xem thông tin chi tiết trên Trang sự kiện tài liệu. Các thay đổi về tác vụ trên trình duyệt:
- Khoá
browser_actions
trong tệp kê khai và APIchrome.browserActions
biến mất. Sử dụng số ítbrowser_action
vàchrome.browserAction
. - Thuộc tính
icons
củabrowser_action
đã bị xoá. Sử dụng thuộc tínhdefault_icon
hoặc browserAction.setIcon để thay thế. - Thuộc tính
name
củabrowser_action
đã bị xoá. Sử dụng thuộc tínhdefault_title
hoặc browserAction.setTitle. - Thuộc tính
popup
củabrowser_action
đã bị xoá. Sử dụngdefault_popup
thuộc tính hoặc browserAction.setPopup để thay thế. - Bạn không thể chỉ định thuộc tính
default_popup
củabrowser_action
làm đối tượng được nữa. Nó phải là một chuỗi.
- Khoá
Các thay đổi đối với tác vụ trang:
- Khoá
page_actions
trong tệp kê khai và APIchrome.pageActions
biến mất. Sử dụng số ítpage_action
vàchrome.pageAction
. - Thuộc tính
icons
củapage_action
đã bị xoá. Hãy dùng thuộc tínhdefault_icon
hoặc pageAction.setIcon. - Thuộc tính
name
củapage_action
đã bị xoá. Hãy dùng thuộc tínhdefault_title
hoặc pageAction.setTitle. - Thuộc tính
popup
củapage_action
đã bị xoá. Sử dụng thuộc tínhdefault_popup
hoặc pageAction.setPopup. - Bạn không thể chỉ định thuộc tính
default_popup
củapage_action
làm đối tượng được nữa. Phải là một chuỗi.
- Khoá
API
chrome.self
đã bị xoá. Thay vào đó, hãy sử dụngchrome.extension
.chrome.extension.getTabContentses
(!!!) vàchrome.extension.getExtensionTabs
đã biến mất. Sử dụng extension.getViews.Port.tab
đã biến mất. Thay vào đó, hãy sử dụng runtime.Port.