Warnung:Ab Version 57 lässt Chrome keine externen Webinhalte (einschließlich eingebetteter Frames und Skripts) mehr auf Sandbox-Seiten zu. Verwenden Sie stattdessen eine Webansicht.
Definiert eine Sammlung von App- oder Erweiterungsseiten, die in einem Sandbox-Ursprung bereitgestellt werden sollen, und optional eine Content Security Policy, die für sie verwendet werden soll. Die Verwendung einer Sandbox hat zwei Auswirkungen:
- Eine Sandbox-Seite hat keinen Zugriff auf Erweiterungs- oder App-APIs oder direkten Zugriff auf Seiten, die nicht in der Sandbox ausgeführt werden. Sie kann jedoch über
postMessage()mit ihnen kommunizieren. Für eine Sandbox-Seite gilt nicht die Content Security Policy (CSP), die für den Rest der App oder Erweiterung verwendet wird. Sie hat einen eigenen CSP-Wert. Das bedeutet, dass beispielsweise Inline-Script und
evalverwendet werden können.So geben Sie beispielsweise an, dass zwei Erweiterungsseiten in einer Sandbox mit einer benutzerdefinierten CSP bereitgestellt werden sollen:
{ ... "sandbox": { "pages": [ "page1.html", "directory/page2.html" ] // content_security_policy is optional. "content_security_policy": "sandbox allow-scripts; script-src 'self'" ], ... }Wenn kein Wert angegeben ist, beträgt der Standardwert für
content_security_policysandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';. Sie können den CSP-Wert angeben, um die Sandbox noch weiter einzuschränken. Er muss jedoch diesandbox-Anweisung enthalten und darf nicht dasallow-same-origin-Token enthalten. Mögliche Sandbox-Tokens finden Sie in der HTML5-Spezifikation. Außerdem kann es sein, dass die von Ihnen angegebene CSP das Laden externer Webinhalte auf Seiten, die in einer Sandbox ausgeführt werden, nicht zulässt.
Beachten Sie, dass Sie nur Seiten auflisten müssen, die in Fenstern oder Frames geladen werden sollen. Ressourcen, die von Seiten mit Sandbox verwendet werden (z. B. Stylesheets oder JavaScript-Quelldateien), müssen nicht in der Liste sandboxed_page aufgeführt werden. Sie verwenden die Sandbox der Seite, auf der sie eingebettet sind.
„Using eval in Chrome Extensions. wird genauer auf die Implementierung eines Sandboxing-Workflows eingegangen, der die Verwendung von Bibliotheken ermöglicht, die ansonsten Probleme bei der Ausführung unter der Standard-Content Security Policy der Erweiterung hätten.
Eine Sandbox-Seite darf nur angegeben werden, wenn manifest_version 2 oder höher verwendet wird.