content_scripts
Typ | Array |
---|---|
Pflichtfeld | Nein |
Manifest-Version | 2 oder höher |
Beispiel |
json
|
Weist den Browser an, Inhaltsskripte in Webseiten zu laden, deren URL einem bestimmten Muster entspricht.
Dieser Schlüssel ist ein Array. Jedes Element ist ein Objekt, das:
- muss einen Schlüssel namens
matches
enthalten, der die URL-Muster angibt, die übereinstimmen müssen, damit die Skripte geladen werden; - kann Schlüssel namens
js
undcss
enthalten, die Skripte und/oder Stylesheets auflisten, die in übereinstimmende Seiten geladen werden sollen; und - kann eine Reihe anderer Eigenschaften enthalten, die feinere Aspekte der Art und des Zeitpunkts der Ladung von Inhaltsskripten steuern.
Details zu allen Schlüsseln, die Sie einfügen können, sind in der folgenden Tabelle angegeben.
Name | Typ | Beschreibung |
---|---|---|
all_frames |
Boolean |
Standardmäßig |
css |
Array |
Ein Array von Pfaden, relativ zu Dateien werden in der angegebenen Reihenfolge injiziert und zu dem durch Hinweis: Firefox löst URLs in injizierten CSS-Dateien relativ zur CSS-Datei selbst und nicht zu der Seite, in die sie injiziert wird, auf. |
exclude_globs |
Array |
Ein Array von Zeichenfolgen, die Platzhalter enthalten. Siehe Übereinstimmende URL-Muster unten. |
exclude_matches |
Array |
Ein Array von Übereinstimmungsmustern. Siehe Übereinstimmende URL-Muster unten. |
include_globs |
Array |
Ein Array von Zeichenfolgen, die Platzhalter enthalten. Siehe Übereinstimmende URL-Muster unten. |
js |
Array |
Ein Array von Pfaden, relativ zu Dateien werden in der angegebenen Reihenfolge injiziert. Das bedeutet zum Beispiel, dass, wenn Sie jQuery hier einschließen, gefolgt von einem anderen Inhaltsskript, wie folgt: json
Dann kann Die Dateien werden nach allen Dateien in |
match_about_blank |
Boolean |
Fügt die Inhaltsskripte in Seiten ein, deren URL Dies ist besonders nützlich, um Skripte in leeren iframes auszuführen, deren URL Zum Beispiel, nehmen wir an, Sie haben einen json
Wenn der Benutzer Hinweis: Beachten Sie, dass in Firefox Inhaltsskripte nicht in leere iframes bei |
match_origin_as_fallback |
Boolean |
Wenn true , wird Code in about: , data: , und blob: Seiten injiziert, wenn ihr Ursprung dem Muster in matches entspricht, selbst wenn der Dokumentenursprung undurchsichtig ist (aufgrund der Verwendung von CSP oder iframe-Sandbox). Übereinstimmungsmuster in matches müssen ein Platzhalterpfadmuster spezifizieren. Standardmäßig false . |
matches |
Array |
Ein Array von Übereinstimmungsmustern. Siehe Übereinstimmende URL-Muster unten. Dies ist der einzige Pflichtschlüssel. |
run_at |
String |
Diese Option bestimmt, wann die in
Der Standardwert ist In allen Fällen werden Dateien in |
world |
String |
Die JavaScript-Welt, in der das Skript ausgeführt wird.
Der Standardwert ist |
Übereinstimmende URL-Muster
Der "content_scripts"
-Schlüssel hängt Inhaltsskripte an Dokumente basierend auf URL-Übereinstimmungen an: wenn die URL des Dokuments der Angabe im Schlüssel entspricht, wird das Skript angehängt. Es gibt vier Eigenschaften innerhalb von "content_scripts"
, die Sie für diese Spezifikation verwenden können:
matches
-
ein Array von Übereinstimmungsmustern
exclude_matches
-
ein Array von Übereinstimmungsmustern
include_globs
-
ein Array von Globs
exclude_globs
-
ein Array von Globs
Um mit einer dieser Eigenschaften übereinzustimmen, muss eine URL mit mindestens einem der Elemente in ihrem Array übereinstimmen. Zum Beispiel, gegeben eine Eigenschaft wie:
"matches": ["*://*.example.org/*", "*://*.example.com/*"]
sowohl http://example.org/
als auch http://example.com/
werden übereinstimmen.
Da matches
der einzige Pflichtschlüssel ist, werden die anderen drei Schlüssel verwendet, um die URLs, die übereinstimmen, weiter einzuschränken. Um insgesamt mit dem Schlüssel übereinzustimmen, muss eine URL:
- mit der
matches
-Eigenschaft übereinstimmen - UND mit der
include_globs
-Eigenschaft übereinstimmen, falls vorhanden - UND NICHT mit der
exclude_matches
-Eigenschaft übereinstimmen, falls vorhanden - UND NICHT mit der
exclude_globs
-Eigenschaft übereinstimmen, falls vorhanden
Globs
Ein Glob ist einfach eine Zeichenkette, die Platzhalter enthalten kann.
Es gibt zwei Arten von Platzhaltern, und Sie können sie im gleichen Glob kombinieren:
*
entspricht null oder mehr Zeichen?
entspricht genau einem Zeichen.
Zum Beispiel: "*na?i"
würde "illuminati"
und "annunaki"
entsprechen, aber nicht "sagnarelli"
.
Beispiel
"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["borderify.js"]
}
]
Dies injiziert ein einzelnes Inhaltsskript borderify.js
in alle Seiten unter mozilla.org
oder einem seiner Subdomains, unabhängig davon, ob es über HTTP oder HTTPS bereitgestellt wird.
"content_scripts": [
{
"exclude_matches": ["*://developer.mozilla.org/*"],
"matches": ["*://*.mozilla.org/*"],
"js": ["jquery.js", "borderify.js"]
}
]
Dies injiziert zwei Inhaltsskripte in alle Seiten unter mozilla.org
oder einem seiner Subdomains, außer developer.mozilla.org
, unabhängig davon, ob es über HTTP oder HTTPS bereitgestellt wird.
Die Inhaltsskripte sehen denselben Blick auf das DOM und werden in der Reihenfolge injiziert, in der sie im Array erscheinen, sodass borderify.js
globale Variablen sehen kann, die von jquery.js
hinzugefügt wurden.
Browser-Kompatibilität
BCD tables only load in the browser