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_policytà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
srccủ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ínhbackgroundcó chứa thuộc tínhscriptshoặ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_actionstrong tệp kê khai và APIchrome.browserActionsbiến mất. Sử dụng số ítbrowser_actionvàchrome.browserAction. - Thuộc tính
iconscủabrowser_actionđã bị xoá. Sử dụng thuộc tínhdefault_iconhoặc browserAction.setIcon để thay thế. - Thuộc tính
namecủabrowser_actionđã bị xoá. Sử dụng thuộc tínhdefault_titlehoặc browserAction.setTitle. - Thuộc tính
popupcủabrowser_actionđã bị xoá. Sử dụngdefault_popupthuộc tính hoặc browserAction.setPopup để thay thế. - Bạn không thể chỉ định thuộc tính
default_popupcủabrowser_actionlà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_actionstrong tệp kê khai và APIchrome.pageActionsbiến mất. Sử dụng số ítpage_actionvàchrome.pageAction. - Thuộc tính
iconscủapage_actionđã bị xoá. Hãy dùng thuộc tínhdefault_iconhoặc pageAction.setIcon. - Thuộc tính
namecủapage_actionđã bị xoá. Hãy dùng thuộc tínhdefault_titlehoặc pageAction.setTitle. - Thuộc tính
popupcủapage_actionđã bị xoá. Sử dụng thuộc tínhdefault_popuphoặc pageAction.setPopup. - Bạn không thể chỉ định thuộc tính
default_popupcủapage_actionlà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.