Chrome-Erweiterungserlaubnis für die Seite "about: blank"

9

Meine Chrome-Erweiterung verwendet content_scripts nicht, weil ich den Code nicht auf jeder Seite einfügen möchte. Wenn der Benutzer stattdessen auf die Schaltfläche klickt, öffnet sich ein Popup-Fenster und fügt Code in die Seite ein.

Also, in manifest.json gibt es einen Berechtigungsblock:

%Vor%

Und in popup.js gibt es diesen Code:

%Vor%

Das Problem ist, dass einige Websites ein Popup-Fenster mit zusätzlichen Informationen öffnen. Und die URL dieser Popup-Seite ist "about:blank" . Wenn ich versuche, die Erweiterung zu initialisieren, sehe ich diese Nachricht in der Konsole:

  

Unchecked runtime.lastError beim Ausführen von tabs.executeScript: Zugriff auf den Inhalt der URL "about: blank" ist nicht möglich. Das Erweiterungsmanifest muss die Berechtigung zum Zugriff auf diesen Host anfordern.

Ich sehe keine Möglichkeit, eine "about:blank" Seite zu permissions hinzuzufügen. Und ich möchte wirklich nicht content_scripts verwenden, nur damit ich die Einstellung match_about_blank einstellen kann.

Ich habe versucht, "about:blank" und "about:* zum permission hinzuzufügen, und alles, was ich bekomme, ist ein Installationsfehler.

  

Beim Versuch, diese Erweiterung zu installieren, gab es Warnungen:   Die Berechtigung 'about: *' ist unbekannt oder das URL-Muster ist fehlerhaft.

Gibt es eine Lösung?

Update: Hier finden Sie eine Zusammenfassung mit allem, was Sie brauchen . Ein Link zu einer Jsbin-Demo enthalten, aber das Problem ist nicht mit dieser Website speziell. Die Erweiterung wurde ursprünglich in einem Yahoo-Mail-Pop-Out-Fenster getestet, das Sie erhalten, indem Sie eine E-Mail drucken.

    
Mottie 29.08.2015, 17:41
quelle

1 Antwort

4

Versuchen Sie es mit chrome.tabs.executeScript({ file: "script.js", matchAboutBlank: true })

"Wenn matchAboutBlank true ist, dann wird der Code auch in die Frames about: blank und about: srcdoc eingefügt, wenn Ihre Erweiterung Zugriff auf ihr übergeordnetes Dokument hat. Code kann nicht in der obersten Ebene über: -frames eingefügt werden ist falsch. "

Ссылка

    
Daniel Herr 29.08.2015 18:27
quelle