Sự cố này bắt đầu với phiên bản 23 của Google Chrome. Ứng dụng Chrome của tôi mở một tab để hiển thị giao diện người dùng khi sự kiện được khởi chạy kích hoạt.Mở ứng dụng Chrome trong tab
chrome.app.runtime.onLaunched.addListener(function()
{
chrome.tabs.create(
{
url: "../../index.html"
});
});
Chương trình này đang hoạt động trước phiên bản 23 của Google Chrome. Bây giờ nhận được ngoại lệ sau khi chạy ứng dụng của tôi.
Error in event handler for 'app.runtime.onLaunched': Cannot call method 'create' of undefined TypeError: Cannot call method 'create' of undefined
Sau khi kiểm tra các đối tượng chrome
trong các công cụ phát triển tôi nhận thấy rằng chrome.tabs
là undefined.
Tôi biết rằng tôi không phải đặt rõ ràng quyền "tab" trong tệp manifest.json của mình vì theo phương thức tạo, cập nhật và xóa không yêu cầu quyền "tab".
Sau khi cố gắng thêm quyền "tab" rõ ràng vào tệp manifest.json, tôi nhận được thông báo này trên chrome: // chrome/extensions/cho ứng dụng.
There were warnings when trying to install this extension: 'tabs' is only allowed for extensions and legacy packaged apps, and this is a packaged app.
Nếu tôi đi theo bảng xếp hạng do https://developers.google.com/chrome/web-store/docs/choosing và đã chọn một ứng dụng đóng gói bởi vì giao diện người dùng ứng dụng của tôi không phải là nhỏ và tôi không có ý định về mở rộng giao diện người dùng Chrome và tôi không thể tận dụng chrome.tabs
thì làm sao tôi có thể mở giao diện người dùng của ứng dụng bên trong một tab mới hoặc hiện tại mà không phải tạo cửa sổ bật lên (điều này rất khó chịu và không thân thiện với người dùng)?
Tôi không thấy có API 'chrome.app.runtime' cho phần mở rộng chrome, nó chỉ có sẵn cho ứng dụng chrome. http://developer.chrome.com/apps/api_index.html –
đúng, nó là một ứng dụng đóng gói .. –
Vì vậy, không có API 'chrome.tabs' cho ứng dụng đóng gói mà tôi nghĩ. http://developer.chrome.com/apps/api_index.html –