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 ramach unikatowego pochodzenia w piaskownicy, oraz opcjonalnie zasady Content Security Policy, których mają one używać. Użycie piaskownicy ma 2 konsekwencje:
- 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()
). Strona w piaskownicy nie podlega zasadom Content Security Policy (CSP) stosowanym przez pozostałą część aplikacji lub rozszerzenia (ma ona własną wartość CSP). Oznacza to, że może ona na przykład używać skryptu w ciele wiadomości i elementu
eval
.Oto przykład określenia, że 2 strony rozszerzenia 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';
. Aby jeszcze bardziej ograniczyć piaskownicę, możesz określić wartość CSP, ale musi ona zawierać dyrektywęsandbox
i nie może zawierać znacznikaallow-same-origin
(możliwe znaczniki piaskownicy znajdziesz w specyfikacji HTML5). Poza tym określony przez Ciebie CSP może nie zezwalać na wczytywanie na stronach działających w trybie piaskownicy.
Pamiętaj, że musisz podać tylko strony, które mają być wczytywane w oknach lub ramach. 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.” zawiera szczegółowe informacje o wdrażaniu procesu piaskownicy, który umożliwia korzystanie z bibliotek, które w innym przypadku mogłyby mieć problemy z wykonaniem w ramach domyślnych zasad Content Security Policy rozszerzenia.
Stronę w trybie piaskownicy można określić tylko wtedy, gdy korzystasz z wersji manifest_version
2 lub nowszej.