Class HtmlOutput

HtmlOutput

Es un objeto HtmlOutput que se puede entregar desde una secuencia de comandos. Debido a consideraciones de seguridad, las secuencias de comandos no pueden devolver HTML directamente a un navegador. En cambio, deben limpiarla para que no puede realizar acciones maliciosas. Puedes mostrar HTML depurado de la siguiente manera:

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
El código en HtmlOutput puede incluir JavaScript y CSS incorporados. (Esto es estándar, JavaScript del cliente que manipula el DOM, no Apps Script). Todo este contenido está en zona de pruebas mediante iframe en una zona de pruebas. Para obtener más información, consulta la guía sobre restricciones en el servicio HTML.

Métodos

MétodoTipo de datos que se muestraDescripción breve
addMetaTag(name, content)HtmlOutputAgrega una metaetiqueta a la página.
append(addedContent)HtmlOutputAgrega nuevo contenido al contenido de este HtmlOutput.
appendUntrusted(addedContent)HtmlOutputAgrega contenido nuevo al contenido de este HtmlOutput con un escape contextual.
asTemplate()HtmlTemplateMuestra un HtmlTemplate respaldado por este HtmlOutput.
clear()HtmlOutputBorra el contenido actual.
getAs(contentType)BlobMuestra los datos dentro de este objeto como un BLOB convertido al tipo de contenido especificado.
getBlob()BlobMuestra los datos dentro de este objeto como un BLOB.
getContent()StringObtiene el contenido de este HtmlOutput.
getFaviconUrl()StringLlama a setFaviconUrl(iconUrl) para obtener la URL de una etiqueta de vínculo del ícono de página que se agregó a la página.
getHeight()IntegerObtiene la altura inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios.
getMetaTags()HtmlOutputMetaTag[]Obtiene un array de objetos que representan metaetiquetas agregadas a la página llamando a addMetaTag(name, content).
getTitle()StringObtiene el título de la página de salida.
getWidth()IntegerObtiene el ancho inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios.
setContent(content)HtmlOutputConfigura el contenido de este HtmlOutput.
setFaviconUrl(iconUrl)HtmlOutputAgrega una etiqueta de vínculo para un ícono de página a la página.
setHeight(height)HtmlOutputEstablece la altura inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios.
setSandboxMode(mode)HtmlOutputEste método ahora no tiene efecto; antes configuraba el sandbox mode que se usaba para las secuencias de comandos del lado del cliente.
setTitle(title)HtmlOutputEstablece el título de la página de salida.
setWidth(width)HtmlOutputEstablece el ancho inicial de un diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios.
setXFrameOptionsMode(mode)HtmlOutputEstablece el estado del encabezado X-Frame-Options de la página, que controla el clickjacking. prevención de amenazas.

Documentación detallada

addMetaTag(name, content)

Agrega una metaetiqueta a la página. Las metaetiquetas que se incluyen directamente en un archivo HTML de Apps Script se ignorados. Solo se permiten las siguientes metaetiquetas:

<meta name="apple-mobile-web-app-capable" content="..."/>
<meta name="google-site-verification" content="..."/>
<meta name="mobile-web-app-capable" content="..."/>
<meta name="viewport" content="..."/>
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

Parámetros

NombreTipoDescripción
nameStringEl valor del atributo de nombre de la metaetiqueta.
contentStringEs el valor del atributo contenido de la metaetiqueta.

Volver

HtmlOutput: Este resultado para el encadenamiento.


append(addedContent)

Agrega nuevo contenido al contenido de este HtmlOutput. Usa esta opción solo para contenido de un de confianza porque no tiene escape.

// Log "<b>Hello, world!</b><p>Hello again, world.</p>"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.append('<p>Hello again, world.</p>');
Logger.log(output.getContent());

Parámetros

NombreTipoDescripción
addedContentStringEl contenido que se agregará.

Volver

HtmlOutput: Este resultado para el encadenamiento.

Arroja

Error: Si el código HTML presenta errores de formato

Consulta también


appendUntrusted(addedContent)

Agrega contenido nuevo al contenido de este HtmlOutput con un escape contextual.

Este método escapa correctamente el contenido en función del estado actual de HtmlOutput. para que el resultado sea una cadena segura sin lenguaje de marcado ni efectos secundarios. Úsalo en lugar de usar adjuntar cada vez que se agrega contenido de una fuente no confiable, como la de un usuario, para evitar permitir accidentalmente un error de secuencia de comandos entre sitios (XSS) en el que el contenido o el lenguaje de marcado que agregas provoca una ejecución inesperada de código.

// Log "<b>Hello, world!</b>&lt;p&gt;Hello again, world.&lt;/p&gt;"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.appendUntrusted('<p>Hello again, world.</p>');
Logger.log(output.getContent());

Parámetros

NombreTipoDescripción
addedContentStringEl contenido que se agregará.

Volver

HtmlOutput: Este resultado para el encadenamiento.

Arroja

Error: si el código HTML presenta errores de formato muy altos

Consulta también


asTemplate()

Muestra un HtmlTemplate respaldado por este HtmlOutput. Este método se puede usar para crear una plantilla de forma incremental. Los próximos cambios en HtmlOutput afectarán el contenido de el HtmlTemplate.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
var template = output.asTemplate();

Volver

HtmlTemplate: Es el nuevo HtmlTemplate.


clear()

Borra el contenido actual.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.clear();

Volver

HtmlOutput: Este resultado para el encadenamiento.


getAs(contentType)

Muestra los datos dentro de este objeto como un BLOB convertido al tipo de contenido especificado. Esta agrega la extensión adecuada al nombre del archivo, por ejemplo, "miarchivo.pdf". Sin embargo, supone que la parte del nombre de archivo que sigue al último punto (si corresponde) es una parte extensión que debe reemplazarse. Por lo tanto, "ShoppingList.12.25.2014" se convierte en “ShoppingList.12.25.pdf”.

Para ver las cuotas diarias de las conversiones, consulta Cuotas para Google Servicios Es posible que los dominios de Google Workspace recién creados estén sujetos temporalmente a restricciones y cuotas.

Parámetros

NombreTipoDescripción
contentTypeStringEl tipo de MIME en el que se convertirá. Para la mayoría de los BLOB, 'application/pdf' es la única opción válida. En el caso de las imágenes en formato BMP, GIF, JPEG o PNG, también se aplica cualquiera de los siguientes valores: 'image/bmp', 'image/gif', 'image/jpeg' o 'image/png'. válido. 'text/markdown' también es válido para Documentos de Google.

Volver

Blob: Los datos como un BLOB.


getBlob()

Muestra los datos dentro de este objeto como un BLOB.

Volver

Blob: Los datos como un BLOB.


getContent()

Obtiene el contenido de este HtmlOutput.

// Log "<b>Hello, world!</b>"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getContent());

Volver

String: Es el contenido que se entrega.


getFaviconUrl()

Llama a setFaviconUrl(iconUrl) para obtener la URL de una etiqueta de vínculo del ícono de página que se agregó a la página. Las etiquetas de vínculo de ícono de página incluidas directamente en un archivo HTML de Apps Script son ignorados.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

Volver

String: Es la URL de la imagen del ícono de página.


getHeight()

Obtiene la altura inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios. Si HtmlOutput se publica como una app web en su lugar, esta El método muestra null. Para cambiar el tamaño de un diálogo que ya está abierto, llama a google.script.host.setHeight(height) en el código del cliente.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);
Logger.log(output.getHeight());

Volver

Integer: Es la altura en píxeles.


getMetaTags()

Obtiene un array de objetos que representan metaetiquetas agregadas a la página llamando a addMetaTag(name, content). Las metaetiquetas que se incluyen directamente en un archivo HTML de Apps Script se ignorados.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

var tags = output.getMetaTags();
Logger.log('<meta name="%s" content="%s"/>', tags[0].getName(), tags[0].getContent());

Volver

HtmlOutputMetaTag[]: Es un array de objetos que representan metaetiquetas que se agregan a la página mediante una llamada a addMetaTag(name, content).


getTitle()

Obtiene el título de la página de salida. Ten en cuenta que la columna <title> Se ignora el elemento HTML.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getTitle());

Volver

String: Es el título de la página.


getWidth()

Obtiene el ancho inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios. Si HtmlOutput se publica como una app web en su lugar, esta El método muestra null. Para cambiar el tamaño de un diálogo que ya está abierto, llama a google.script.host.setWidth(width) en el código del cliente.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);
Logger.log(output.getWidth());

Volver

Integer: Indica el ancho en píxeles.


setContent(content)

Configura el contenido de este HtmlOutput.

var output = HtmlService.createHtmlOutput();
output.setContent('<b>Hello, world!</b>');

Parámetros

NombreTipoDescripción
contentStringEl contenido que se publicará.

Volver

HtmlOutput: Este resultado para el encadenamiento.

Arroja

Error: Si el código HTML presenta errores de formato


setFaviconUrl(iconUrl)

Agrega una etiqueta de vínculo para un ícono de página a la página. Se incluyen etiquetas de vínculo de ícono de página directamente en una aplicación. Se ignorará el archivo HTML de la secuencia de comandos.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');

Parámetros

NombreTipoDescripción
iconUrlStringLa URL de la imagen del ícono de página, con la extensión de imagen que indica la imagen el tipo de letra.

Volver

HtmlOutput: Este resultado para el encadenamiento.


setHeight(height)

Establece la altura inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios. Si HtmlOutput se publica como una app web en su lugar, esta método no tiene efecto. Para cambiar el tamaño de un diálogo que ya está abierto, llama a google.script.host.setHeight(height) en el código del cliente.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);

Parámetros

NombreTipoDescripción
heightIntegerLa nueva altura en píxeles. null da como resultado un valor predeterminado.

Volver

HtmlOutput: Este resultado para el encadenamiento.


setSandboxMode(mode)

Este método ahora no tiene efecto; antes configuraba el sandbox mode que se usaba para las secuencias de comandos del lado del cliente. Para proteger a los usuarios contra el código HTML malicioso o JavaScript, el código del cliente entregado desde el servicio HTML se ejecuta en una zona de pruebas de seguridad que impone restricciones al código. Originalmente, este método permitía que los autores de secuencias de comandos elegiran entre las diferentes versiones de la zona de pruebas, pero ahora todas las secuencias de comandos ahora usan el modo IFRAME independientemente del modo de zona de pruebas que esté configurado. Para obtener más información, consulta la guía sobre restricciones en el 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 absoluto en ciertos navegadores más antiguos, como Internet Explorer. 9. El modo de zona de pruebas se puede leer en una secuencia de comandos del cliente mediante la inspección de 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 el modo solicitado no se admite en el navegador del usuario.

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

Parámetros

NombreTipoDescripción
modeSandboxModeEl modo de zona de pruebas que se utilizará.

Volver

HtmlOutput: Este resultado para el encadenamiento.


setTitle(title)

Establece el título de la página de salida. En el caso de las aplicaciones web, se trata del título de toda la página, mientras que para HtmlOutput que se muestra en Hojas de cálculo de Google, este es el título del diálogo.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setTitle('My First Page');

Parámetros

NombreTipoDescripción
titleStringEl título nuevo.

Volver

HtmlOutput: Este resultado para el encadenamiento.


setWidth(width)

Establece el ancho inicial de un diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios. Si HtmlOutput se publica como una app web en su lugar, esta método no tiene efecto. Para cambiar el tamaño de un diálogo que ya está abierto, llama a google.script.host.setWidth(width) en el código del cliente.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);

Parámetros

NombreTipoDescripción
widthIntegerEl nuevo ancho en píxeles. null da como resultado un valor predeterminado.

Volver

HtmlOutput: Este resultado para el encadenamiento.


setXFrameOptionsMode(mode)

Establece el estado del encabezado X-Frame-Options de la página, que controla el clickjacking. prevención de amenazas.

Configurar XFrameOptionsMode.ALLOWALL permite que cualquier sitio iframe la página, por lo que el desarrollador debería implementar su propia protección contra el clickjacking.

Si una secuencia de comandos no establece un modo X-Frame-Options, Apps Script usa el modo XFrameOptionsMode.DEFAULT como predeterminado.

// Serve HTML with no X-Frame-Options header (in Apps Script server-side code).
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

Parámetros

NombreTipoDescripción
modeXFrameOptionsModeSon las opciones de modo de XFrame que se configurarán.

Volver

HtmlOutput: Este resultado para el encadenamiento.