5

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)?

+0

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 –

+0

đúng, nó là một ứng dụng đóng gói .. –

+0

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 –

Trả lời

8

Các bạn đã thử window.open() trong chrome.app.runtime.onLaunched

+0

Tôi có thể xác nhận điều này đã hiệu quả đối với tôi: chỉ cần nhớ đặt tên tệp bạn muốn mở trong dấu ngoặc !!! –

+0

Điều này không được hỗ trợ và nên tránh. https://code.google.com/p/chromium/issues/detail?id=252464 – oldergod

Các vấn đề liên quan