5

この問題は、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

+0

は、あなたが(window.openを試してみました

+0

そうですね、それはパッケージ化されたアプリです。 –

+0

私は思うにパッケージ化されたアプリのための 'chrome.tabs' APIはありません。 http://developer.chrome.com/apps/api_index.html –

答えて

8
)、それはChromeアプリケーションでのみ使用可能です。 http://developer.chrome.com/apps/api_index.html
+0

これは私のために働いたことを確認できます: 括弧内で開くファイル名を入れてください。 –

+0

これはサポートされていないため、避けてください。 https://code.google.com/p/chromium/issues/detail?id=252464 – oldergod

関連する問題