この問題は、Google Chromeのバージョン23から始まりました。起動したイベントが発生したときに、自分のUIを表示するタブが開きます。タブ内でChromeアプリを開く
chrome.app.runtime.onLaunched.addListener(function()
{
chrome.tabs.create(
{
url: "../../index.html"
});
});
このスキームは、Google Chromeのバージョン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によると、作成、更新、および削除の方法では「タブ」権限が必要ないため、マニフェストの「タブ」権限を明示的に設定する必要はありません。
manifest.jsonファイルに「tabs」権限を明示的に追加しようとすると、アプリケーションのchrome:// chrome/extensions /にこのメッセージが表示されます。
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を拡張する予定が、私は、その後どのように私は開くことができchrome.tabs
を利用することはできませんいけないので、パッケージアプリを選択した場合私のアプリのUIは、新しいまたは既存のタブの中にポップアップウィンドウ(これは非常に迷惑で、ユーザーフレンドリーではない)を作成することなく作成できますか?私はChromeの拡張機能のためのAPI `chrome.app.runtime`がある参照いけないchrome.app.runtime.onLaunched
で
は、あなたが(window.openを試してみました
–そうですね、それはパッケージ化されたアプリです。 –
私は思うにパッケージ化されたアプリのための 'chrome.tabs' APIはありません。 http://developer.chrome.com/apps/api_index.html –