15

Ich bin eine CSS-Datei von meiner Chrome-Erweiterung Injektion des manifest.json mit (full source):Wie kann man CSS-Stylesheets anzeigen, die von einer Google Chrome-Erweiterung mithilfe von Dev-Tools eingegeben wurden?

"content_scripts": [ 
    { 
     "matches": [ 
     "http://*/*" 
     ], 
     "css":["src/inject/gfi_extension.css"], 
     "js": [/*...*/] 
    } 
    ] 

In Chrome Dev-Tool, wenn ich ein Element untersuchen, die durch das injizierte css betroffen ist, ist die Regeln sichtbar, aber oben rechts, wo der Quelldateiname normalerweise sein würde, heißt es nur "injected stylesheet". Ich möchte ALLE Regeln sehen, die injiziert werden, auch diejenigen, die sich auf Elemente auswirken, die derzeit nicht im DOM existieren.

Ich hätte erwartet, dass die .css in "Quellen" unter "Inhaltsskripts" mit den .js-Dateien erscheinen würde, aber sie sind nicht da.

Gibt es eine Möglichkeit, die .css-Datei über Dev-Tools anzuzeigen? Wenn nicht, bitte erklären Sie, warum nicht.

Edit: Ich habe gerade festgestellt, dass diese Frage auch als eine "Unterfrage" von this one erscheint, aber niemand drüben hat versucht, es zu beantworten, obwohl es eine akzeptierte Antwort gibt.

+0

Die chrome.devtools. * API-Module sind nur für die Seiten verfügbar, die im DevTools-Fenster geladen werden. Inhaltsskripts und andere Erweiterungsseiten verfügen nicht über diese APIs. Daher sind die APIs nur während der Lebensdauer des DevTools-Fensters verfügbar. Um den Link für weitere Details zu sehen: https://developer.chrome.com/extensions/devtools – gui47

+0

gui47, danke, aber ich verstehe immer noch nicht. Warum kann ich die injizierten .js-Dateien sehen, aber nicht die .css? Liegt das daran, dass das CSS irgendwie außerhalb der "Lebensdauer des DevTools-Fensters" injiziert wird? Wenn du eine Antwort hast, poste sie als Antwort! – foobarbecue

+1

Sie können das Tag injected.js unter Content Scripts sehen, weil Inhaltsskripte im Kontext von Webseiten ausgeführt werden, die innerhalb der Lebensdauer des DevTools-Fensters liegen. Wie du bereits erwähnt hast, ist das css nicht über die Lebensdauer des DevTools-Fensters. – gui47

Antwort

2

Sieht aus wie es keine Möglichkeit gibt, dies zu tun, wenn Sie die CSS über content_scripts injizieren. Ich legte hier einen Fehler: https://crbug.com/800070

Wenn die Erweiterung in Ihrer Kontrolle, Paul Irish dieses Codemuster, um Ihre Stile inspectable machen schlägt mit: https://github.com/lateral/chrome-extension-blogpost/compare/master...paulirish:master

Für andere Menschen Erweiterungen, soweit ich das sagen kann, Es gibt keine Möglichkeit, den Quellcode der injizierten Stylesheets in DevTools anzuzeigen, wenn Sie die Route content_scripts gehen.

-5

devtools_css_view

Verwenden Sie das folgende Verfahren:

  • Gehen Sie auf die Seite Erweiterungen (chrome: // extensions)

  • Klicken Sie auf die Developer mode Checkbox

  • Klicken Sie Inspect Views in der Text unter der Erweiterung in Frage

  • Navigieren Sie zu Quellen

Referenzen

+3

Hier hilft es überhaupt nicht, da es sich speziell um die Injektion in normale Seiten handelt. Sie werden nicht in diesen Ansichten angezeigt. – Xan

+0

@Xan Ich sehe den Ausdruck "normale Seite" nicht. Ich sehe "Chrome Dev Tools". –

+1

Und ich sehe "Inhaltsskripte". Sie werden nicht in 'chrome: // extensions' als Ansichten angezeigt. Sie werden in den Entwicklungswerkzeugen für die Seite angezeigt, in die sie injiziert werden. – Xan

-3

Zum Sources und dann Content Scripts. Sie müssen zu dem Namen der Erweiterung gehen und dann sehen Sie die injizierten Dateien.

enter image description here

+2

(Neu-) Lesen Sie die Frage bitte. Es geht um CSS-Dateien. – foobarbecue