Ten problem rozpoczął się od wersji 23 przeglądarki Google Chrome. Moja aplikacja Chrome otwiera zakładkę do wyświetlania interfejsu użytkownika po uruchomieniu uruchomionego wydarzenia.Otwórz aplikację Chrome na karcie
chrome.app.runtime.onLaunched.addListener(function()
{
chrome.tabs.create(
{
url: "../../index.html"
});
});
Ten schemat działał wcześniej niż wersja 23 przeglądarki Google Chrome. Otrzymuję następujący wyjątek podczas uruchamiania aplikacji.
Error in event handler for 'app.runtime.onLaunched': Cannot call method 'create' of undefined TypeError: Cannot call method 'create' of undefined
Po sprawdzeniu obiektu w dostarczaniu narzędzi programistycznych chrome
Zauważyłem, że chrome.tabs
jest niezdefiniowany.
Wiem, że nie muszę jawnie ustawić uprawnienia "zakładki" w moim manifeście.json, ponieważ zgodnie z http://developer.chrome.com/extensions/tabs.html metody tworzenia, aktualizacji i usuwania nie wymagają uprawnień "zakładki".
Po próbie jawnego dodania uprawnienia "zakładki" do pliku manifest.json, otrzymuję tę wiadomość w chrome: // chrome/extensions/dla aplikacji.
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.
Jeśli jadę na wykresie podany przez https://developers.google.com/chrome/web-store/docs/choosing i wybrali aplikację w pakiecie, ponieważ moja aplikacja UI nie jest mała, a ja nie zamierzam na rozszerzenie UI Chrome i nie mogę skorzystać z chrome.tabs
następnie w jaki sposób można otworzyć interfejsu mojej aplikacji wewnątrz nowej lub istniejącej zakładki bez konieczności tworzenia okna podręcznego (co jest bardzo denerwujące i nie przyjazne dla użytkownika)?
Nie widzę istnieje API 'chrome.app.runtime' dla rozszerzeń Chrome, jest ona dostępna tylko dla aplikacji Chrome. http://developer.chrome.com/apps/api_index.html –
racja, jest to aplikacja w pakiecie. –
Więc nie ma żadnego API "chrome.tabs" dla aplikacji w pakiecie, jak sądzę. http://developer.chrome.com/apps/api_index.html –