Tiện ích, giao diện và ứng dụng chỉ là các gói tài nguyên, được gói 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 thường ổn định, nhưng đôi khi, bạn cần phải thực hiện những thay đổi có thể gây lỗi để giải quyết các vấn đề quan trọng.
Nhà phát triển nên chỉ định phiên bản thông số kỹ thuật của tệp kê khai nhắm mục tiêu cho gói bằng cách đặt 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 cầ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à chúng tôi sẽ ngừng hỗ trợ phiên bản này theo lịch trình sau.
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 mới phiên bản 1 của tệp kê khai.
- Cửa hàng trực tuyến sẽ cho phép cập nhật các tiện ích hiện có phiên bản 1 của tệp kê khai.
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 phiên bản 1 của tệp kê khai 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 phiên bản 1 của tệp kê khai (hoặc tải các tiện ích đó để phát triển).
Tháng 6 năm 2013
- Cửa hàng trực tuyến sẽ xoá tiện ích của phiên bản tệp kê khai 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 email thông báo cho tất cả nhà phát triển có tiện ích phiên bản 1 của tệp kê khai vẫn còn trong cửa hàng để nhắc họ rằng các tiện ích này sẽ chưa được 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ẽ huỷ xuất bản tất cả tiện ích phiên bản tệp kê khai 1.
- Email thông báo cuối cùng sẽ được gửi đến những nhà phát triển có tiện ích của phiên bản tệp kê khai 1 vẫn còn trong Cửa hàng trực tuyến.
- Chrome sẽ tiếp tục tải và chạy các tiện ích đã cài đặt của tệp kê khai phiên bản 1.
Tháng 1 năm 2014
- Chrome sẽ ngừng tải hoặc chạy tiện ích phiên bản 1 của tệp kê khai.
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';
. Điều này có nhiều tác động đối với các nhà phát triển, được mô tả chi tiết trong tài liệu vềcontent_security_policy
. - Theo mặc định, các tài nguyên của gói không còn được cung cấp cho các trang web bên ngoài (dưới dạng
src
của hình ảnh hoặc thẻscript
). Nếu muốn một trang web có thể tải tài nguyên có trong gói, bạn cần phải đưa tài nguyên đó vào danh sách cho phép một cách rõ ràng qua thuộc tính tệp kê khaiweb_accessible_resources
. Điều này đặc biệt phù hợp 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
chứa một thuộc tínhscripts
hoặcpage
. Bạn có thể xem thông tin chi tiết trong tài liệu về Trang sự kiện. Các thay đổi về tác vụ của trình duyệt:
- Khoá
browser_actions
trong tệp kê khai và APIchrome.browserActions
đã biến mất. Thay vào đó, hãy sử dụng số ítbrowser_action
vàchrome.browserAction
. - Thuộc tính
icons
củabrowser_action
đã bị xoá. Thay vào đó, hãy sử dụng thuộc tínhdefault_icon
hoặc browserAction.setIcon. - Thuộc tính
name
củabrowser_action
đã bị xoá. Thay vào đó, hãy sử dụng thuộc tínhdefault_title
hoặc browserAction.setTitle. - Thuộc tính
popup
củabrowser_action
đã bị xoá. Thay vào đó, hãy sử dụng thuộc tínhdefault_popup
hoặc browserAction.setPopup. - Không thể chỉ định thuộc tính
default_popup
củabrowser_action
làm đối tượng nữa. Giá trị này phải là một chuỗi.
- Khoá
Các thay đổi về tác vụ trang:
- Khoá
page_actions
trong tệp kê khai và APIchrome.pageActions
đã biến mất. Thay vào đó, hãy sử dụng số ítpage_action
vàchrome.pageAction
. - Thuộc tính
icons
củapage_action
đã bị xoá. Thay vào đó, hãy sử dụng thuộc tínhdefault_icon
hoặc pageAction.setIcon. - Thuộc tính
name
củapage_action
đã bị xoá. Thay vào đó, hãy sử dụng thuộc tínhdefault_title
hoặc pageAction.setTitle. - Thuộc tính
popup
củapage_action
đã bị xoá. Thay vào đó, hãy sử dụng thuộc tínhdefault_popup
hoặc pageAction.setPopup. - Không thể chỉ định thuộc tính
default_popup
củapage_action
làm đối tượng nữa. Giá trị này phải là một chuỗi.
- Khoá
Xoá API
chrome.self
. Thay vào đó, hãy sử dụngchrome.extension
.chrome.extension.getTabContentses
(!!!) vàchrome.extension.getExtensionTabs
đã biến mất. Thay vào đó, hãy sử dụng extension.getViews.Port.tab
đã biến mất. Thay vào đó, hãy sử dụng runtime.Port.