2017-02-09 2 views
1

Ich dachte, dies wäre eine regelmäßig gestellte Frage, aber ich kann die Antwort nicht finden. Gibt es eine Möglichkeit für eine Chrome-Erweiterung, dass das Popup-Fenster für die Browser-Aktion nur bei übereinstimmenden Seiten von content_scripts verfügbar ist?Browseraktion zum Aktivieren nur auf "content_script" entspricht

ZB: Ich mache eine Erweiterung für eine Website. Ich möchte, dass das Popup nur verfügbar ist, wenn Sie die Site durchsuchen (auf der aktuellen Registerkarte). Wie mache ich?

Für mich ist die Browseraktion standardmäßig immer aktiviert, egal welche Seite ich durchsuche und die Seitenaktion wurde nie aktiviert.

Danke für Ihre Hilfe

EDIT: Hier ist ein Teil des Manifests ist, änderte es mit pageAction ohne Erfolg. Ich möchte, dass mein Icon nur auf Tabs aktiviert wird, die LDLC durchsuchen.

+0

Siehe [deklarativeContent-API] (https://developer.chrome.com/extensions/declarativeContent). – wOxxOm

Antwort

0

Verwenden Sie eine Seitenaktion und in Ihrem Hintergrund Skript für Registeränderungen zu hören. Wenn sich eine Tab-URL ändert, prüfen Sie, ob die Seitenaktion angezeigt werden soll.

In Ihrem Hintergrund Skript etwas tun, wie folgt aus:

let matches = ["://www.ldlc.com/fiche/", "://ldlc.com/fiche/" ] 
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { 
    for (let i in matches) { 
     if (tab.url.includes(matches[i])) { 
      chrome.pageAction.show(tabId) 
      break 
     } 
    } 
}) 

Auch die Registerkarten Berechtigung in Ihrem Manifest hinzufügen.

+0

Ich habe eine Event-Skript-Seite anstelle eines Hintergrund-Skripts verwendet, es scheint mehr Sinn für diese Verwendung zu geben – yhu420

Verwandte Themen