Aby chronić użytkowników przed złośliwym kodem HTML lub JavaScript, kod po stronie klienta wyświetlany z usługi HTML jest wykonywany w piaskownicy zabezpieczeń, która nakłada na niego ograniczenia. Metoda
HtmlOutput.setSandboxMode(mode) wcześniej umożliwiała autorom skryptów wybór
między różnymi wersjami piaskownicy, ale teraz nie ma już wpływu na działanie skryptu. Więcej informacji znajdziesz w przewodniku po ograniczeniach w usłudze HTML.
Tryb IFRAME nakłada znacznie mniej ograniczeń niż inne tryby piaskownicy i działa najszybciej, ale w niektórych starszych przeglądarkach, w tym w Internet Explorerze 9, nie działa wcale. Tryb piaskownicy można też odczytać w skrypcie po stronie klienta, sprawdzając wartość google.script.sandbox.mode. Pamiętaj, że ta właściwość zwraca rzeczywisty tryb na kliencie, który może się różnić od trybu żądanego na serwerze, jeśli żądany tryb nie jest obsługiwany w przeglądarce użytkownika.
<!-- Read the sandbox mode (in a client-side script). -->
<script>
alert(google.script.sandbox.mode);
</script>
Właściwości
Właściwość
Typ
Opis
EMULATED
Enum
Starszy tryb piaskownicy, który emuluje tryb ścisły ECMAScript 5, korzystając tylko z funkcji dostępnych w ECMAScript 3. Przed lutym 2014 r. był to tryb domyślny.
EMULATED został wycofany 10 grudnia 2015 r. Wszystkie skrypty, które próbują używać EMULATED, będą teraz używać IFRAME.
IFRAME
Enum
Tryb piaskownicy, który zamiast technologii piaskownicy Caja używanej w trybach EMULATED i NATIVE korzysta z piaskownicy iframe. Od 12 listopada 2015 r. ten tryb jest domyślny w przypadku nowych skryptów, a od 6 lipca 2016 r. – w przypadku wszystkich skryptów.
Ten tryb nakłada znacznie mniej ograniczeń niż inne tryby piaskownicy i działa najszybciej, ale w niektórych starszych przeglądarkach, w tym w Internet Explorerze 9, nie działa wcale.
NATIVE
Enum
Tryb piaskownicy oparty na trybie ścisłym ECMAScript 5. Tryb piaskownicy oparty na trybie ścisłym ECMAScript 5. Ten tryb został wycofany 6 lipca 2016 roku. Wszystkie skrypty używają teraz trybu IFRAME.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-08-04 UTC."],[[["\u003cp\u003eSandboxMode is used for setting the sandbox environment for client-side HtmlService scripts in Google Apps Script.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIFRAME\u003c/code\u003e is the only supported SandboxMode; \u003ccode\u003eNATIVE\u003c/code\u003e and \u003ccode\u003eEMULATED\u003c/code\u003e are deprecated and sunset.\u003c/p\u003e\n"],["\u003cp\u003eClient-side code in HTML service runs in a security sandbox with restrictions to protect users.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eIFRAME\u003c/code\u003e mode has fewer restrictions and runs faster but might not work in older browsers like Internet Explorer 9.\u003c/p\u003e\n"],["\u003cp\u003eYou can read the actual sandbox mode on the client-side using \u003ccode\u003egoogle.script.sandbox.mode\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Enum SandboxMode\n\nSandboxMode\n\nAn enum representing the sandbox modes that can be used for client-side [HtmlService](/apps-script/reference/html/html-service)\nscripts. These values can be accessed from [HtmlService.SandboxMode](/apps-script/reference/html/html-service#SandboxMode), and set by calling\n[HtmlOutput.setSandboxMode(mode)](/apps-script/reference/html/html-output#setSandboxMode(SandboxMode)).\n\nTo call an enum, you call its parent class, name, and property. For example, `\nHtmlService.SandboxMode.IFRAME`.\n\nThe `NATIVE` and `EMULATED` modes were [deprecated on October 13, 2015](https://workspace.google.com/blog/product-announcements/google-apps-script-update-htmlservice) and both are now sunset. Only `IFRAME` mode is now\nsupported.\n\nTo protect users from being served malicious HTML or JavaScript, client-side code served from\nHTML service executes in a security sandbox that imposes restrictions on the code. The method\n[HtmlOutput.setSandboxMode(mode)](/apps-script/reference/html/html-output#setSandboxMode(SandboxMode)) previously allowed script authors to choose\nbetween different versions of the sandbox, but now has no effect. For more information, see the\n[guide to restrictions in HTML service](/apps-script/guides/html/restrictions).\n\nThe `IFRAME` mode imposes many fewer restrictions than the other sandbox modes and runs\nfastest, but does not work at all in certain older browsers, including Internet Explorer 9. The\nsandbox mode can also be read in a client-side script by inspecting `google.script.sandbox.mode`. Note that this property returns the actual mode on the client, which\nmay differ from the mode requested on the server if the requested mode is not supported in the\nuser's browser.\n\n```html\n\u003c!-- Read the sandbox mode (in a client-side script). --\u003e\n\u003cscript\u003e\n alert(google.script.sandbox.mode);\n\u003c/script\u003e\n``` \n\n### Properties\n\n| Property | Type | Description |\n|------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `EMULATED` | `Enum` | A legacy sandbox mode that emulates ECMAScript 5 strict mode using only the features available in ECMAScript 3. This mode was the default prior to February 2014. `EMULATED` was [sunset as of December 10, 2015](/apps-script/guides/support/sunset). All scripts attempting use `EMULATED` will now use `IFRAME` instead. |\n| `IFRAME` | `Enum` | A sandbox mode that uses iframe sandboxing instead of the Caja sandbox technology used by the `EMULATED` and `NATIVE` modes. This mode is the default for new scripts as of November 12, 2015 and for all scripts as of July 6, 2016. This mode imposes many fewer restrictions than the other sandbox modes and runs fastest, but does not work at all in certain older browsers, including Internet Explorer 9. |\n| `NATIVE` | `Enum` | A sandbox mode that is built on top of ECMAScript 5 strict mode. A sandbox mode built on top of ECMAScript 5 strict mode. This mode was [sunset as of July 6, 2016](/apps-script/guides/support/sunset). All scripts now use `IFRAME` mode. |"]]