Ich möchte, dass die Erweiterung HTML in einer neuen Registerkarte und nicht in einem Popup geöffnet wird. Eine vorhandene Erweiterung, Session Buddy, hat genau das Verhalten, das ich replizieren möchte.Öffnen der Chrome-Erweiterung in der neuen Registerkarte, wenn auf das Symbol in der Symbolleiste geklickt wird
Das Problem ist, dass Chrome neue Erweiterungsregisterkarten nonstop öffnet, nachdem ich auf das Symbolleistensymbol geklickt habe, wenn das gewünschte Verhalten (offensichtlich) nur eine Registerkarte geöffnet hat. Seltsamerweise kann ich nur einen Tab öffnen, wenn ich eine "Web-URL" wie https://stackoverflow.com/ verwende.
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') });
Mehrere Beiträge auf dieser Website eine ähnliche Frage, aber keine der vorgeschlagenen Lösungen für mich gearbeitet:
- Chrome Extension: onclick extension icon, open popup.html in new tab: Wenn Ich benutze Ereignisseiten oder füge einen Listener zumhinzuselbst passiert nichts, wenn ich auf das Erweiterungssymbol in der Symbolleiste klicke.
Legen Sie es in einem Klick-Listener für das Symbol: [Probe] (https: // Entwickler. chrome.com/extensions/examples/api/browserAction/make_page_red/background.js). – wOxxOm
Die Registerkarte öffnet sich nicht, wenn ich 'chrome.tabs.create()' in einen Klick-Listener setze. – GreatHam
Es ist Zeit, [das Hintergrundskript zu debuggen] (https://stackoverflow.com/a/10258029)! – wOxxOm