この問題は、バージョン23のGoogleChromeで発生しました。Chromeアプリは、起動されたイベントが発生したときにUIを表示するためのタブを開きます。
chrome.app.runtime.onLaunched.addListener(function()
{
chrome.tabs.create(
{
url: "../../index.html"
});
});
このスキームは、GoogleChromeのバージョン23より前に機能していました。アプリの実行時に次の例外が発生するようになりました。
Error in event handler for 'app.runtime.onLaunched': Cannot call method 'create' of undefined TypeError: Cannot call method 'create' of undefined
開発ツールでオブジェクトをチェックした後、それが未定義chrome
であることに気付きました。chrome.tabs
http://developer.chrome.com/extensions/tabs.htmlによると、create、update、およびremoveメソッドは「タブ」を必要としないため、manifest.jsonで「タブ」権限を明示的に設定する必要がないことを知っています。 " 許可。
「タブ」権限をmanifest.jsonファイルに明示的に追加しようとした後、アプリのchrome:// chrome /extendeds/でこのメッセージを受け取ります。
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.
https://developers.google.com/chrome/web-store/docs/choosingで提供されているチャートを使用していて、アプリのUIが小さくなく、ChromeのUIを拡張するつもりがないため、パッケージ化されたアプリを選択した場合それでは、ポップアップウィンドウを作成せずに、新しいタブまたは既存のタブ内でアプリのUIを開くにchrome.tabs
はどうすればよいですか(非常に煩わしく、ユーザーフレンドリーではありません)。