Enum SandboxMode

Modo de zona de pruebas

Es una enumeración que representa los modos de zona de pruebas que se pueden usar para las secuencias de comandos HtmlService del cliente. Se puede acceder a estos valores desde HtmlService.SandboxMode y establecerlos llamando a HtmlOutput.setSandboxMode(mode).

Para llamar a una enumeración, debes llamar a su clase superior, nombre y propiedad. Por ejemplo,  HtmlService.SandboxMode.IFRAME.

Los modos NATIVE y EMULATED dejaron de estar disponibles el 13 de octubre de 2015 y ahora están inhabilitados. Ahora solo se admite el modo IFRAME.

Para proteger a los usuarios de que se les entregue HTML o JavaScript malicioso, el código del cliente que se entrega desde el servicio de HTML se ejecuta en una zona de pruebas de seguridad que impone restricciones en el código. Anteriormente, el método HtmlOutput.setSandboxMode(mode) permitía que los autores de secuencias de comandos eligieran entre diferentes versiones de la zona de pruebas, pero ahora no tiene ningún efecto. Para obtener más información, consulta la guía de restricciones del servicio HTML.

El modo IFRAME impone muchas menos restricciones que los otros modos de zona de pruebas y se ejecuta más rápido, pero no funciona en ciertos navegadores más antiguos, incluido Internet Explorer 9. El modo de zona de pruebas también se puede leer en una secuencia de comandos del cliente si se inspecciona google.script.sandbox.mode. Ten en cuenta que esta propiedad muestra el modo real en el cliente, que puede diferir del modo solicitado en el servidor si este no es compatible con el navegador del usuario.

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

Propiedades

PropiedadTipoDescripción
EMULATEDEnumUn modo de zona de pruebas heredado que emula el modo estricto de ECMAScript 5 con solo las funciones disponibles en ECMAScript 3. Este modo era el predeterminado antes de febrero de 2014.

EMULATED dejó de estar disponible a partir del 10 de diciembre de 2015. Todas las secuencias de comandos que intenten usar EMULATED ahora usarán IFRAME.

IFRAMEEnumUn modo de zona de pruebas que usa la zona de pruebas de iframe en lugar de la tecnología de zona de pruebas de Caja que usan los modos EMULATED y NATIVE. Este modo es el predeterminado para las secuencias de comandos nuevas a partir del 12 de noviembre de 2015 y para todas las secuencias de comandos a partir del 6 de julio de 2016.

Este modo impone muchas menos restricciones que los otros modos de zona de pruebas y se ejecuta más rápido, pero no funciona en ciertos navegadores más antiguos, incluido Internet Explorer 9.

NATIVEEnumUn modo de zona de pruebas que se compila en el modo estricto de ECMAScript 5. Un modo de zona de pruebas compilado sobre el modo estricto de ECMAScript 5. Este modo dejó de estar disponible a partir del 6 de julio de 2016. Todas las secuencias de comandos ahora usan el modo IFRAME.