Fichier manifeste – Bac à sable

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:

  1. 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()).
  2. 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 est sandbox 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 directive sandbox et peut ne pas contenir le jeton allow-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.