Ostrzeżenie: od wersji 57 Chrome nie będzie zezwalać na umieszczanie zewnętrznych treści internetowych (w tym umieszczonych na nich ramek i skryptów) na stronach w trybie piaskownicy. Użyj webview.
Definiuje zbiór stron aplikacji lub rozszerzeń, które mają być wyświetlane w unikalnym źródle w trybie piaskownicy, i opcjonalnie Content Security Policy, które mają być z nimi używane. Działanie piaskownicy ma 2 konsekwencje:
- Strona w trybie piaskownicy nie ma dostępu do interfejsów API rozszerzeń i aplikacji, nie ma też bezpośredniego dostępu do stron poza tą piaskownicą (może komunikować się ze sobą przez
postMessage()
). Strona w trybie piaskownicy nie podlega standardowi Content Security Policy (CSP) używanej przez pozostałą część aplikacji lub rozszerzenia (ma własną, osobną wartość CSP). Oznacza to na przykład, że może używać wbudowanego skryptu i
eval
.Na przykład możesz określić, że 2 strony rozszerzeń mają być wyświetlane w piaskownicy z niestandardowym 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 wartości, domyślną wartością
content_security_policy
będziesandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
. Możesz określić wartość CSP, aby jeszcze bardziej ograniczyć piaskownicę, ale musi ona zawierać dyrektywęsandbox
i może nie zawierać tokenaallow-same-origin
(informacje o możliwych tokenach piaskownicy znajdziesz w specyfikacji HTML5). Określony przez Ciebie dostawca CSP może też nie zezwalać na wczytywanie zewnętrznych treści internetowych na stronach piaskownicy.
Pamiętaj, że musisz podać tylko te strony, które powinny zostać wczytane w oknach lub ramkach. Zasoby używane przez strony w trybie piaskownicy (np. arkusze stylów lub pliki źródłowe JavaScript) nie muszą pojawiać się na liście sandboxed_page
– będą używać piaskownicy strony, na której je umieszczono.
„Using eval in Chrome Extensions. „Safely” zawiera szczegółowe informacje o implementowaniu przepływu pracy w trybie piaskownicy umożliwiającego korzystanie z bibliotek, w przypadku których wystąpiły problemy z uruchomieniem zgodnie z domyślną zasadą Content Security Policy rozszerzenia.
Stronę w trybie piaskownicy można określić tylko wtedy, gdy korzystasz z manifest_version
w wersji 2 lub nowszej.