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>'); }
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étodo | Tipo de datos que se muestra | Descripción breve |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Agrega una metaetiqueta a la página. |
append(addedContent) | HtmlOutput | Agrega nuevo contenido al contenido de este HtmlOutput . |
appendUntrusted(addedContent) | HtmlOutput | Agrega contenido nuevo al contenido de este HtmlOutput con un escape contextual. |
asTemplate() | HtmlTemplate | Muestra un HtmlTemplate respaldado por este HtmlOutput . |
clear() | HtmlOutput | Borra el contenido actual. |
getAs(contentType) | Blob | Muestra los datos dentro de este objeto como un BLOB convertido al tipo de contenido especificado. |
getBlob() | Blob | Muestra los datos dentro de este objeto como un BLOB. |
getContent() | String | Obtiene el contenido de este HtmlOutput . |
getFaviconUrl() | String | 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. |
getHeight() | Integer | Obtiene 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() | String | Obtiene el título de la página de salida. |
getWidth() | Integer | Obtiene el ancho inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios. |
setContent(content) | HtmlOutput | Configura el contenido de este HtmlOutput . |
setFaviconUrl(iconUrl) | HtmlOutput | Agrega una etiqueta de vínculo para un ícono de página a la página. |
setHeight(height) | HtmlOutput | Establece la altura inicial del diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios. |
setSandboxMode(mode) | HtmlOutput | Este 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) | HtmlOutput | Establece el título de la página de salida. |
setWidth(width) | HtmlOutput | Establece el ancho inicial de un diálogo personalizado en Google Documentos, Hojas de cálculo o Formularios. |
setXFrameOptionsMode(mode) | HtmlOutput | Establece 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
Nombre | Tipo | Descripción |
---|---|---|
name | String | El valor del atributo de nombre de la metaetiqueta. |
content | String | Es 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
Nombre | Tipo | Descripción |
---|---|---|
addedContent | String | El 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><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
addedContent | String | El 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
Nombre | Tipo | Descripción |
---|---|---|
contentType | String | El 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()
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
Nombre | Tipo | Descripción |
---|---|---|
content | String | El 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
Nombre | Tipo | Descripción |
---|---|---|
iconUrl | String | La 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
Nombre | Tipo | Descripción |
---|---|---|
height | Integer | La 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
Nombre | Tipo | Descripción |
---|---|---|
mode | SandboxMode | El 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
Nombre | Tipo | Descripción |
---|---|---|
title | String | El 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
Nombre | Tipo | Descripción |
---|---|---|
width | Integer | El 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
Nombre | Tipo | Descripción |
---|---|---|
mode | XFrameOptionsMode | Son las opciones de modo de XFrame que se configurarán. |
Volver
HtmlOutput
: Este resultado para el encadenamiento.