Avertissement:À partir de la version 57, Chrome n'autorisera plus les contenus Web externes (y compris des frames et des scripts intégrés) dans des pages en bac à sable. Veuillez utiliser une vue Web à la place.
Définit un ensemble de pages d'applications ou d'extensions à diffuser dans une origine unique en bac à sable. et éventuellement Content Security Policy à utiliser. Être dans un bac à sable a deux implications:
- Une page en bac à sable n'a pas accès aux API d'extension ou d'application, ni à un accès direct aux
sans bac à sable (il peut communiquer avec elles via
postMessage()
). Une page en bac à sable n'est pas soumise à la Content Security Policy (CSP) utilisée par le reste des l'application ou l'extension (elle possède sa propre valeur CSP) ; Cela signifie, par exemple, qu'il peut Utilisez un script intégré et
eval
.Par exemple, voici comment spécifier que deux pages d'extension doivent être diffusées dans un bac à sable avec une balise CSP personnalisée:
{ ... "sandbox": { "pages": [ "page1.html", "directory/page2.html" ] // content_security_policy is optional. "content_security_policy": "sandbox allow-scripts; script-src 'self'" ], ... }
Si aucune valeur n'est spécifiée, la valeur
content_security_policy
par défaut estsandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
Vous pouvez spécifier votre valeur CSP pour restreindre davantage le bac à sable, mais la valeur la directivesandbox
et peut ne pas contenir le jetonallow-same-origin
(consultez la page HTML5 spécification des éventuels jetons de bac à sable). De plus, il se peut que le fournisseur de services cloud que vous spécifiez n'autorise pas le chargement contenu Web externe dans des pages en bac à sable.
Notez que vous n'avez besoin de lister que les pages que vous vous attendiez à charger dans des fenêtres ou des cadres. Ressources
utilisées par les pages en bac à sable (par exemple, les feuilles de style ou les fichiers sources JavaScript) n'ont pas besoin d'apparaître dans le
sandboxed_page
, il utilisera le bac à sable de la page qui l'intègre.
"Utilisation d'évaluation dans les extensions Chrome. en toute sécurité." explique plus en détail l'implémentation d'un le workflow de bac à sable qui permet d'utiliser des bibliothèques dont l'exécution aurait sinon des problèmes Content Security Policy par défaut de l'extension.
Vous ne pouvez spécifier une page en bac à sable que si vous utilisez manifest_version
2 ou une version ultérieure.