拡張機能のHTMLをポップアップではなく新しいタブで開くようにします。既存の拡張子Session Buddyは、私が複製しようとしている正確な動作をしています。ツールバーアイコンをクリックしたときに新しいタブでクロム拡張機能を開く
問題は、ツールバーのアイコンをクリックした後にChromeが新しい拡張タブを開いて、必要な動作が(明らかに)1つのタブだけを開いているときです。不思議なことに、https://stackoverflow.com/などの「ウェブURL」を使用すると、1つのタブだけを開くことができます。
manifest.json
:
{
"manifest_version": 2,
"name": "angular chrome extension boilerplate",
"version": "1.0.0",
"background": {
"scripts": ["background.js"],
"persistent": true
},
"permissions": [
"activeTab",
"tabs",
"background"
],
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}
background.js
:このサイト上
chrome.tabs.create({ url: chrome.extension.getURL('index.html') });
いくつかの記事は、同様の問題が、提案ソリューションのどれもが私のために働いてきた:
- Chrome Extension: onclick extension icon, open popup.html in new tab:ときイベントページを使用するか、リスナーをに追加しますでも、拡張ツールバーアイコンをクリックすると何も起こりません。
:また、以前に永続的な背景を使用して
activeTab
許可は不要であり、削除することができます。manifest.json
改訂[サンプル](https://で開発。 chrome.com/extensions/examples/api/browserAction/make_page_red/background.js)。 – wOxxOm
クリックリスナーの中に 'chrome.tabs.create()'を置くとタブが開きません。 – GreatHam
[バックグラウンドスクリプトをデバッグする](https://stackoverflow.com/a/10258029)! – wOxxOm