Plik manifestu – piaskownica

Ostrzeżenie: od wersji 57 Chrome nie będzie już zezwalać na zewnętrzne treści internetowe (w tym na stronach umieszczonych w trybie piaskownicy i w skryptach. Użyj komponentu WebView.

Definiuje zbiór stron aplikacji lub rozszerzeń, które mają być wyświetlane w unikalnym źródle w trybie piaskownicy, oraz opcjonalnie Content Security Policy, aby z nimi korzystać. Piaskownica ma dwie konsekwencje:

  1. Strona w piaskownicy nie ma dostępu do interfejsów API rozszerzeń i aplikacji ani bezpośredniego dostępu do strony poza piaskownicą (mogą komunikować się z nimi przez postMessage()).
  2. Strona w piaskownicy nie podlega zasadom Content Security Policy (CSP) stosowanym przez resztę aplikacja lub rozszerzenie (ma własną, oddzielną wartość CSP). Oznacza to, że na przykład użyj wbudowanego skryptu i eval.

    Poniżej pokazujemy na przykład, jak określić, że 2 strony rozszerzeń mają być wyświetlane w piaskownicy z parametrem niestandardowy CSP:

    {
      ...
      "sandbox": {
        "pages": [
          "page1.html",
          "directory/page2.html"
        ]
        // content_security_policy is optional.
        "content_security_policy":
            "sandbox allow-scripts; script-src 'self'"
      ],
      ...
    }
    

    Jeśli nie podasz żadnej, domyślna wartość content_security_policy to sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self'; Możesz podać wartość CSP, aby jeszcze bardziej ograniczyć piaskownicę, ale musi ona mieć sandbox i może nie zawierać tokena allow-same-origin (patrz tag HTML5 specyfikacji możliwych tokenów piaskownicy). Poza tym określony przez Ciebie CSP może nie zezwalać na wczytywanie na stronach działających w trybie piaskownicy.

Pamiętaj, że wystarczy podać tylko te strony, które powinny być ładowane w oknach lub ramkach. Zasoby używanych przez strony w trybie piaskownicy (np. arkusze stylów lub pliki źródłowe JavaScript) nie muszą pojawiać się sandboxed_page, będą one korzystać z piaskownicy strony, na której zostały umieszczone.

„Using eval in Chrome Extensions. bezpiecznie”. przepływ pracy w trybie piaskownicy, który umożliwia korzystanie z bibliotek, które mogłyby spowodować problemy domyślną zasadę Content Security Policy rozszerzenia.

Stronę w trybie piaskownicy można określić tylko wtedy, gdy korzystasz z wersji manifest_version 2 lub nowszej.