Un objeto Html
que se puede entregar desde una secuencia de comandos. Debido a consideraciones de seguridad, las secuencias de comandos no pueden mostrar HTML directamente a un navegador. En su lugar, deben limpiarlo para que no pueda realizar acciones maliciosas. Puedes mostrar un HTML limpio de la siguiente manera:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }El código de
Html Output
puede incluir JavaScript y CSS incorporados. (Este es un código JavaScript estándar del cliente que manipula el DOM, no Apps Script). Todo este contenido se coloca en la zona de pruebas con la zona de pruebas de iframes. Para obtener más información, consulta la guía de restricciones del servicio HTML.Métodos
Método | Tipo de datos que se muestra | 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 | Muestra un Html respaldado por este Html . |
clear() | Html | Borra el contenido actual. |
get | Blob | Muestra 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 | Llama a set para obtener la URL de una etiqueta de vínculo de ícono de página que se agregó a la página. |
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 ahora no tiene efecto. Anteriormente, establecía el 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 de ataques de suplantación de identidad mediante clics. |
Documentación detallada
add Meta Tag(name, content)
Agrega una metaetiqueta a la página. Se ignoran las metaetiquetas incluidas directamente en un archivo HTML de Apps Script. 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="..."/>
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
name | String | Es el valor del atributo de nombre de la metaetiqueta. |
content | String | Es el valor del atributo de contenido de la metaetiqueta. |
Volver
Html
: Este resultado, para encadenar.
append(addedContent)
Agrega contenido nuevo al contenido de este Html
. Usa esto solo para contenido de una fuente confiable, ya que no se escapa.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.append('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
added | String | Es el contenido que se anexará. |
Volver
Html
: Este resultado, para encadenar.
Arroja
Error
: Si el HTML tiene un formato incorrecto
Consulta también
append Untrusted(addedContent)
Agrega contenido nuevo al contenido de este Html
con escape contextual.
Este método escapa correctamente el contenido según el estado actual de Html
, de modo que el resultado sea una cadena segura sin marcas ni efectos secundarios. Usa esto en lugar de usar
append cada vez que agregues contenido de una fuente no confiable, como 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 agregues
cause una ejecución de código inesperada.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
added | String | Es el contenido que se anexará. |
Volver
Html
: Este resultado, para encadenar.
Arroja
Error
: Si el código HTML tiene un formato muy incorrecto
Consulta también
as Template()
Muestra un Html
respaldado por este Html
. Este método se puede usar para compilar una plantilla de forma incremental. Los cambios futuros en Html
también afectan el contenido de Html
.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); const template = output.asTemplate();
Volver
Html
: Es el nuevo Html
.
clear()
Borra el contenido actual.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Volver
Html
: Este resultado, para encadenar.
get As(contentType)
Muestra 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, se da por sentado que la parte del nombre de archivo que sigue al último punto (si corresponde) 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 de 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 debe realizar la conversión. 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 'image/bmp' , 'image/gif' , 'image/jpeg' o 'image/png' . Para un documento de Documentos de Google, 'text/markdown' también es válido. |
Volver
Blob
: Los datos como un BLOB.
get Blob()
get Content()
Obtiene el contenido de este Html
.
// Log "<b>Hello, world!</b>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Volver
String
: Es el contenido que se entrega.
get Favicon Url()
Llama a set
para obtener la URL de una etiqueta de vínculo de ícono de página que se agregó a la página. Se ignoran las etiquetas de vínculo del favicon incluidas directamente en un archivo HTML de Apps Script.
const 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.
get Height()
Obtiene la altura inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. Si el Html
se publica como una app web, este 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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Volver
Integer
: Es la altura, en píxeles.
get Meta Tags()
Obtiene un array de objetos que representan las metaetiquetas agregadas a la página llamando a add
. Se ignoran las metaetiquetas incluidas directamente en un archivo HTML de Apps Script.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); const tags = output.getMetaTags(); Logger.log( '<meta name="%s" content="%s"/>', tags[0].getName(), tags[0].getContent(), );
Volver
Html
: Es un array de objetos que representan metaetiquetas agregadas a la página mediante una llamada a add
.
get Title()
Obtiene el título de la página de salida. Ten en cuenta que se ignora el elemento HTML <title>.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Volver
String
: Es el título de la página.
get Width()
Obtiene el ancho inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. Si el Html
se publica como una app web, este 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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Volver
Integer
: Es el ancho en píxeles.
set Content(content)
Establece el contenido de este Html
.
const output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
content | String | Es el contenido que se publicará. |
Volver
Html
: Este resultado, para encadenar.
Arroja
Error
: Si el HTML tiene un formato incorrecto
set Favicon Url(iconUrl)
Agrega una etiqueta de vínculo para un favicon a la página. Se ignoran las etiquetas de vínculo del favicon incluidas directamente en un archivo HTML de Apps Script.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
icon | String | Es la URL de la imagen del ícono de página, con la extensión de imagen que indica el tipo de imagen. |
Volver
Html
: Este resultado, para encadenar.
set Height(height)
Establece la altura inicial del diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. Si, en cambio, el Html
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('<b>Hello, world!</b>'); output.setHeight(200);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
height | Integer | Es la nueva altura en píxeles. null genera un valor predeterminado. |
Volver
Html
: Este resultado, para encadenar.
set Sandbox Mode(mode)
Este método ahora no tiene efecto. Anteriormente, establecía el sandbox
mode
que se usaba para las secuencias de comandos del cliente. 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 al código. Originalmente, este método permitía a los autores de secuencias de comandos elegir entre diferentes versiones de la zona de pruebas, pero ahora todas las secuencias de comandos usan el modo IFRAME
, independientemente del modo de zona de pruebas que se configure. 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. Para leer el modo de zona de pruebas en una secuencia de comandos del cliente, 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>
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
mode | Sandbox | El modo de zona de pruebas que se usará. |
Volver
Html
: Este resultado, para encadenar.
set Title(title)
Establece el título de la página de salida. En el caso de las apps web, es el título de toda la página, mientras que para Html
que se muestra en Hojas de cálculo de Google, es el título del diálogo.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
title | String | El título nuevo. |
Volver
Html
: Este resultado, para encadenar.
set Width(width)
Establece el ancho inicial de un diálogo personalizado en Documentos, Hojas de cálculo o Formularios de Google. Si, en cambio, el Html
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('<b>Hello, world!</b>'); output.setWidth(200);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
width | Integer | Es el nuevo ancho en píxeles. null genera un valor predeterminado. |
Volver
Html
: Este resultado, para encadenar.
set XFrame Options Mode(mode)
Establece el estado del encabezado X-Frame-Options
de la página, que controla la prevención de ataques de suplantación de identidad mediante clics.
La configuración de XFrameOptionsMode.ALLOWALL
permite que cualquier sitio inserte un iframe en la página, por lo que el desarrollador debe implementar su propia protección contra el robo de clics.
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). const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
mode | XFrameOptionsMode | Es el modo de opciones de XFrame que se debe establecer. |
Volver
Html
: Este resultado, para encadenar.