Es un objeto HtmlOutput que se puede publicar desde una secuencia de comandos. Por motivos de seguridad, las secuencias de comandos no pueden devolver HTML directamente a un navegador. En su lugar, deben limpiarlo para que no pueda realizar acciones maliciosas. Puedes devolver HTML saneado de la siguiente manera:
function doGet() { return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); }
HtmlOutput puede incluir JavaScript y CSS integrados. (Este es JavaScript estándar del cliente que manipula el DOM, no Apps Script). Todo este contenido se ejecuta en un entorno de pruebas con iframe sandboxing. Para obtener más información, consulta la guía sobre las restricciones en el servicio HTML.Métodos
| Método | Tipo de datos que se devuelve | Descripción breve |
|---|---|---|
add | Html | Agrega una metaetiqueta a la página. |
append(addedContent) | Html | Agrega contenido nuevo al contenido de este Html. |
append | Html | Agrega contenido nuevo al contenido de este Html, con escape contextual. |
as | Html | Devuelve un Html respaldado por este Html. |
clear() | Html | Borra el contenido actual. |
get | Blob | Devuelve los datos dentro de este objeto como un blob convertido al tipo de contenido especificado. |
get | Blob | Devuelve los datos dentro de este objeto como un blob. |
get | String | Obtiene el contenido de este Html. |
get | String | Obtiene la URL de una etiqueta de vínculo de favicon agregada a la página llamando a set. |
get | Integer | Obtiene la altura inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. |
get | Html | Obtiene un array de objetos que representan las metaetiquetas agregadas a la página llamando a add. |
get | String | Obtiene el título de la página de salida. |
get | Integer | Obtiene el ancho inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. |
set | Html | Establece el contenido de este Html. |
set | Html | Agrega una etiqueta de vínculo para un favicon a la página. |
set | Html | Establece la altura inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. |
set | Html | Este método ya no tiene efecto. Antes, establecía el objeto sandbox
mode que se usaba para las secuencias de comandos del cliente. |
set | Html | Establece el título de la página de salida. |
set | Html | Establece el ancho inicial de un diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. |
set | Html | Establece el estado del encabezado X-Frame-Options de la página, que controla la prevención del clickjacking. |
Documentación detallada
addMetaTag(name, content)
Agrega una metaetiqueta a la página. Las metaetiquetas incluidas directamente en un archivo HTML de Apps Script se ignoran. Solo se permiten las siguientes etiquetas meta:
<meta name="apple-mobile-web-app-capable" cont>e<nt="..."/ meta name="google-site-ver>i<fication" content="..."/ meta name>=<"mobile-web-app-capable" >content="..."/ meta name="viewport" content="..."/
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
name | String | Es el valor del atributo name de la etiqueta meta. |
content | String | Es el valor del atributo content de la etiqueta meta. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
append(addedContent)
Agrega contenido nuevo al contenido de este HtmlOutput. Úsalo solo para el contenido de una fuente confiable, ya que no se escapa.
// Log &<q>uot;bHello, w<or><l>d!/bpHello again, w<or>ld./p" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'<)>; output.append(<9;>pHello again, world./p'); Logger.log(output.getContent());
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
added | String | Es el contenido que se anexará. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
Arroja
Error: Si el HTML tiene un formato incorrecto
Consulta también
appendUntrusted(addedContent)
Agrega contenido nuevo al contenido de este HtmlOutput, con escape contextual.
Este método escapa correctamente el contenido según el estado actual de HtmlOutput, de modo que el resultado es una cadena segura sin marcas ni efectos secundarios. Usa este método en lugar de append siempre que agregues contenido de una fuente no confiable, como 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 agregues provoquen una ejecución de código inesperada.
// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.</pgt;" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); output<.>appendUntrusted(<9;>pHello again, world./p'); Logger.log(output.getContent());
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
added | String | Es el contenido que se anexará. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
Arroja
Error: Si el código HTML tiene un formato muy incorrecto
Consulta también
asTemplate()
Devuelve un HtmlTemplate respaldado por este HtmlOutput. Este método se puede usar para crear una plantilla de forma incremental. Los cambios futuros en HtmlOutput también afectan el contenido de HtmlTemplate.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); const template = output.asTemplate();
Volver
HtmlTemplate: El nuevo HtmlTemplate.
clear()
Borra el contenido actual.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.clear();
Volver
HtmlOutput: Es el resultado para el encadenamiento.
getAs(contentType)
Devuelve los datos dentro de este objeto como un blob convertido al tipo de contenido especificado. Este método 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 hay alguno) es una extensión existente que se debe reemplazar. Por lo tanto, "ShoppingList.12.25.2014" se convierte en "ShoppingList.12.25.pdf".
Para ver las cuotas diarias de conversiones, consulta Cuotas para los servicios de Google. Es posible que los dominios de Google Workspace recién creados estén sujetos temporalmente a cuotas más estrictas.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
content | String | Es el tipo de MIME al que se convertirá el archivo. Para la mayoría de los BLOBs, 'application/pdf' es la única opción válida. Para las imágenes en formato BMP, GIF, JPEG o PNG, también son válidos cualquiera de los valores 'image/bmp', 'image/gif', 'image/jpeg' o 'image/png'. En el caso de un documento de Documentos de Google, 'text/markdown' también es un valor válido. |
Volver
Blob: Son los datos como un BLOB.
getBlob()
getContent()
Obtiene el contenido de este HtmlOutput.
// Log &<q>uot;bHello, w<or>ld!/b" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); Logger.log(output.getContent());
Volver
String: Es el contenido que se entrega.
getFaviconUrl()
Obtiene la URL de una etiqueta de vínculo de favicon agregada a la página llamando a setFaviconUrl(iconUrl). Se ignoran las etiquetas de vínculo de ícono de página incluidas directamente en un archivo HTML de Apps Script.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Volver
String: Es la URL de la imagen del favicon.
getHeight()
Obtiene la altura inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. Si el HtmlOutput se publica como una app web, este método devuelve 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.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200); Logger.log(output.getHeight());
Volver
Integer: La altura en píxeles.
getMetaTags()
Obtiene un array de objetos que representan las metaetiquetas agregadas a la página llamando a addMetaTag(name, content). Las metaetiquetas incluidas directamente en un archivo HTML de Apps Script se ignoran.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); const tags = output.getMetaT<ags(); Logger.log( '>meta name="%s" content="%s"/', tags[0].getName(), tags[0].getContent(), );
Volver
HtmlOutputMetaTag[]: Es un array de objetos que representan las metaetiquetas agregadas a la página llamando a addMetaTag(name, content).
getTitle()
Obtiene el título de la página de salida. Ten en cuenta que se ignora el elemento HTML <title>.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/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 Documentos, Hojas de cálculo o Formularios de Google. Si el HtmlOutput se publica como una app web, este método devuelve 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.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200); Logger.log(output.getWidth());
Volver
Integer: Es el ancho en píxeles.
setContent(content)
Establece el contenido de este HtmlOutput.
const output = HtmlService.createHtmlOutput(); output.setContent(&<#>39;bHello, wo<rl>d!/b');
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
content | String | Es el contenido que se publicará. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
Arroja
Error: Si el HTML tiene un formato incorrecto
setFaviconUrl(iconUrl)
Agrega una etiqueta de vínculo para un favicon a la página. Se ignoran las etiquetas de vínculo de favicon incluidas directamente en un archivo HTML de Apps Script.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png');
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
icon | String | Es la URL de la imagen del favicon, con la extensión que indica el tipo de imagen. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
setHeight(height)
Establece la altura inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. Si el HtmlOutput se publica como una app web, este 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.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200);
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
height | Integer | Nueva altura en píxeles. null genera un valor predeterminado. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
setSandboxMode(mode)
Este método ya no tiene efecto. Antes, establecía el objeto sandbox
mode que se usaba para las secuencias de comandos del cliente. Para proteger a los usuarios de que se les proporcione HTML o JavaScript maliciosos, el código del cliente que se proporciona 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 a los autores de secuencias de comandos elegir entre diferentes versiones del entorno de pruebas, pero ahora todas las secuencias de comandos usan el modo IFRAME, independientemente del modo de entorno de pruebas que se haya establecido. Para obtener más información, consulta la guía sobre las 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 algunos navegadores más antiguos, como Internet Explorer 9. El modo de zona de pruebas se puede leer en una secuencia de comandos del cliente inspeccionando google.script.sandbox.mode. Ten en cuenta que esta propiedad devuelve el modo real en el cliente, que puede diferir del modo solicitado en el servidor si el modo solicitado no es compatible con el navegador del usuario.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
mode | Sandbox | Es el modo de zona de pruebas que se usará. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
setTitle(title)
Establece el título de la página de salida. En el caso de las apps web, este es el título de toda la página, mientras que, en el caso de HtmlOutput que se muestra en Hojas de cálculo de Google, este es el título del diálogo.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setTitle('My First Page');
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
title | String | Es el nuevo título. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
setWidth(width)
Establece el ancho inicial de un diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. Si el HtmlOutput se publica como una app web, este 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.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200);
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
width | Integer | El nuevo ancho en píxeles. null genera un valor predeterminado. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.
setXFrameOptionsMode(mode)
Establece el estado del encabezado X-Frame-Options de la página, que controla la prevención del clickjacking.
Si se configura XFrameOptionsMode.ALLOWALL, cualquier sitio puede incluir la página en un iframe, por lo que el desarrollador debe 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 de forma predeterminada.
// Serve HTML with no X-Frame-Options header (in Apps Script server-side code). const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
mode | XFrameOptionsMode | Es el modo de opciones de XFrame que se configurará. |
Volver
HtmlOutput: Es el resultado para el encadenamiento.