Enum SandboxMode

SandboxMode

Um tipo enumerado que representa os modos de sandbox que podem ser usados para scripts HtmlService do lado do cliente. Esses valores podem ser acessados em HtmlService.SandboxMode e definidos chamando HtmlOutput.setSandboxMode(mode).

Para chamar um tipo enumerado, chame a classe, o nome e a propriedade pai dele. Por exemplo, HtmlService.SandboxMode.IFRAME.

Os modos NATIVE e EMULATED foram descontinuados em 13 de outubro de 2015 e agora foram desativados. Somente o modo IFRAME agora é compatível.

Para proteger os usuários contra a veiculação de HTML ou JavaScript malicioso, o código do lado do cliente disponibilizado pelo serviço HTML é executado em um sandbox de segurança que impõe restrições ao código. Antes, o método HtmlOutput.setSandboxMode(mode) permitia que os autores de scripts escolhessem entre diferentes versões do sandbox, mas agora não tem efeito. Para ver mais informações, consulte o guia para restrições no serviço HTML.

O modo IFRAME impõe muito menos restrições do que os outros modos de sandbox e é executado mais rapidamente, mas não funciona em alguns navegadores mais antigos, incluindo o Internet Explorer 9. O modo sandbox também pode ser lido em um script do lado do cliente inspecionando google.script.sandbox.mode. Essa propriedade retorna o modo real no cliente, que pode ser diferente do modo solicitado no servidor se o modo solicitado não for compatível com o navegador do usuário.

<!-- Read the sandbox mode (in a client-side script). -->
<script>
  alert(google.script.sandbox.mode);
</script>

Propriedades

PropriedadeTipoDescrição
EMULATEDEnumUm modo sandbox legado que emula o modo restrito do ECMAScript 5 usando apenas os recursos disponíveis no ECMAScript 3. Esse modo era o padrão antes de fevereiro de 2014.

EMULATED foi desativado em 10 de dezembro de 2015. Todos os scripts que tentam usar EMULATED agora usarão IFRAME

IFRAMEEnumUm modo sandbox que usa o sandbox de iframe em vez da tecnologia de sandbox Caja usada pelos modos EMULATED e NATIVE. Esse modo é o padrão para novos scripts a partir de 12 de novembro de 2015 e para todos os scripts a partir de 6 de julho de 2016.

Esse modo impõe muito menos restrições do que os outros modos de sandbox e é executado mais rapidamente, mas não funciona em alguns navegadores mais antigos, como o Internet Explorer 9.

NATIVEEnumUm modo sandbox construído sobre o modo estrito do ECMAScript 5. Um modo sandbox criado sobre o modo estrito do ECMAScript 5. Esse modo foi desativado em 6 de julho de 2016. Todos os scripts agora usam o modo IFRAME.