ツールバーにアイコンを追加するChromeの拡張機能を作成し、それをクリックすると、ローカルWebページ(f.htmlなど)で新しいタブが開きますか?
この質問 を見ましたが、マニフェストファイルに何を追加すべきかを実際には説明していません...
新しいchromeアプリの場合、これは当てはまりません。
新しいchrome manifest_version:2を持つアプリでは、次のようにタブを開く必要があります。
chrome.browserAction.onClicked.addListener(function(activeTab)
{
var newURL = "http://www.youtube.com/watch?v=oHg5SJYRHA0";
chrome.tabs.create({ url: newURL });
});
さて、 extensions docs では、 manifest で述べられていますが、その許可として「タブ」を含める必要があります。 Hello Worldアプリケーションの説明と同じ方法で:
マニフェストファイル:
{
"name": "My Extension",
"version": "1.0",
"description": "Opens up a local webpage",
"icons": { "128": "icon_128.png" },
"background_page": "bg.html",
"browser_action": {
"default_title": "",
"default_icon": "icon_19.png"
},
"permissions": [
"tabs"
],
}
バックグラウンドページ 内で、ブラウザアクションのマウスクリックイベントをリッスンします。
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.create({'url': chrome.extension.getURL('f.html')}, function(tab) {
// Tab opened.
});
});
上記で気づいたように、他の投稿で見た質問を使用したことがわかります。これはテストされていませんが、動作するはずです。
chrome.tabs.createには「タブ」の許可が必要です。
拡張機能でwindow.openを許可なしで使用するだけです。コードが短くなります。この解決策をお勧めします。
window.open(url,'_blank');