Un oggetto HtmlOutput
che può essere pubblicato da uno script. Per motivi di sicurezza, gli script non possono restituire direttamente il codice HTML a un browser. Devono invece igienizzarlo
in modo che non possa eseguire azioni dannose. Puoi restituire codice HTML sottoposto a sanitizzazione come segue:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }Il codice in
HtmlOutput
può includere JavaScript e CSS incorporati. (si tratta di codice JavaScript lato client standard che manipola il DOM, non Apps Script). Tutti questi contenuti sono sottoposti a sandbox tramite sandboxing iframe. Per ulteriori informazioni, consulta la guida alle limitazioni nel servizio HTML.Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Aggiunge un meta tag alla pagina. |
append(addedContent) | HtmlOutput | Aggiunge nuovi contenuti ai contenuti di questo HtmlOutput . |
appendUntrusted(addedContent) | HtmlOutput | Aggiunge nuovi contenuti ai contenuti di questo HtmlOutput , utilizzando l'escape contestuale. |
asTemplate() | HtmlTemplate | Restituisce un valore HtmlTemplate supportato da questo HtmlOutput . |
clear() | HtmlOutput | Cancella i contenuti correnti. |
getAs(contentType) | Blob | Restituisce i dati all'interno di questo oggetto sotto forma di blob convertito nel tipo di contenuto specificato. |
getBlob() | Blob | Restituisce i dati all'interno di questo oggetto sotto forma di blob. |
getContent() | String | Recupera i contenuti di HtmlOutput . |
getFaviconUrl() | String | Recupera l'URL di un tag link favicon aggiunto alla pagina chiamando setFaviconUrl(iconUrl) . |
getHeight() | Integer | Restituisce l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. |
getMetaTags() | HtmlOutputMetaTag[] | Restituisce un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando addMetaTag(name, content) . |
getTitle() | String | Restituisce il titolo della pagina di output. |
getWidth() | Integer | Restituisce la larghezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. |
setContent(content) | HtmlOutput | Imposta i contenuti di HtmlOutput . |
setFaviconUrl(iconUrl) | HtmlOutput | Aggiunge un tag link per una favicon alla pagina. |
setHeight(height) | HtmlOutput | Imposta l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. |
setSandboxMode(mode) | HtmlOutput | Questo metodo ora non ha alcun effetto, in quanto in precedenza impostava il sandbox
mode utilizzato per gli script lato client. |
setTitle(title) | HtmlOutput | Imposta il titolo della pagina di output. |
setWidth(width) | HtmlOutput | Imposta la larghezza iniziale di una finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. |
setXFrameOptionsMode(mode) | HtmlOutput | Imposta lo stato dell'intestazione X-Frame-Options della pagina, che controlla la prevenzione del clickjacking. |
Documentazione dettagliata
addMetaTag(name, content)
Aggiunge un meta tag alla pagina. I meta tag inclusi direttamente in un file HTML Apps Script vengono ignorati. Sono consentiti solo i seguenti meta tag:
<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');
Parametri
Nome | Tipo | Descrizione |
---|---|---|
name | String | Il valore dell'attributo nome del meta tag. |
content | String | Il valore dell'attributo content del meta tag. |
Ritorni
HtmlOutput
: output per il concatenamento.
append(addedContent)
Aggiunge nuovi contenuti ai contenuti di questo HtmlOutput
. Utilizzalo solo per i contenuti provenienti da una fonte attendibile, perché non contiene caratteri di 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());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
addedContent | String | I contenuti da aggiungere. |
Ritorni
HtmlOutput
: output per il concatenamento.
Tiri
Error
: se il formato dell'HTML non è corretto
Vedi anche
appendUntrusted(addedContent)
Aggiunge nuovi contenuti ai contenuti di questo HtmlOutput
, utilizzando l'escape contestuale.
Questo metodo esegue correttamente l'escape dei contenuti in base allo stato attuale di HtmlOutput
,
in modo che il risultato sia una stringa sicura senza markup o effetti collaterali. Usa questa opzione invece di aggiungere Aggiungi ogni volta che aggiungi contenuti da una fonte non attendibile, ad esempio quella di un utente, per evitare di consentire accidentalmente un bug di cross-site scripting (XSS) in cui i contenuti o il markup che aggiungi causano l'esecuzione di codice inaspettata.
// 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());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
addedContent | String | I contenuti da aggiungere. |
Ritorni
HtmlOutput
: output per il concatenamento.
Tiri
Error
: se il formato dell'HTML non è corretto
Vedi anche
asTemplate()
Restituisce un valore HtmlTemplate
supportato da questo HtmlOutput
. Questo metodo può essere usato per creare
un modello in modo incrementale. Le modifiche future a HtmlOutput
interesseranno anche i contenuti di HtmlTemplate
.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Ritorni
HtmlTemplate
: il nuovo HtmlTemplate
.
clear()
Cancella i contenuti correnti.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Ritorni
HtmlOutput
: output per il concatenamento.
getAs(contentType)
Restituisce i dati all'interno di questo oggetto sotto forma di blob convertito nel tipo di contenuto specificato. Questo metodo aggiunge l'estensione appropriata al nome del file, ad esempio "myfile.pdf". Tuttavia, si presuppone che la parte del nome del file che segue l'ultimo punto (se presente) sia un'estensione esistente che deve essere sostituita. Di conseguenza, "ShoppingList.12.25.2014" diventa "ShoppingList.12.25.pdf".
Per visualizzare le quote giornaliere per le conversioni, consulta Quote per i servizi Google. I domini Google Workspace appena creati potrebbero essere temporaneamente soggetti a quote più severe.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
contentType | String | Il tipo MIME in cui eseguire la conversione. Per la maggior parte dei blob, 'application/pdf' è l'unica opzione valida. Per le immagini in formato BMP, GIF, JPEG o PNG, è valido anche qualsiasi formato 'image/bmp' , 'image/gif' , 'image/jpeg' o 'image/png' . |
Ritorni
Blob
: i dati sotto forma di blob.
getBlob()
Restituisce i dati all'interno di questo oggetto sotto forma di blob.
Ritorni
Blob
: i dati sotto forma di blob.
getContent()
Recupera i contenuti di HtmlOutput
.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Ritorni
String
: i contenuti pubblicati.
getFaviconUrl()
Recupera l'URL di un tag link favicon aggiunto alla pagina chiamando setFaviconUrl(iconUrl)
. I tag link favicon inclusi direttamente in un file HTML Apps Script vengono ignorati.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Ritorni
String
: l'URL dell'immagine della favicon.
getHeight()
Restituisce l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. Se HtmlOutput
viene pubblicato come app web, questo metodo restituisce null
. Per ridimensionare una finestra di dialogo già aperta, chiama
google.script.host.setHeight(height)
nel codice lato client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Ritorni
Integer
: l'altezza espressa in pixel.
getMetaTags()
Restituisce un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando addMetaTag(name, content)
. I meta tag inclusi direttamente in un file HTML Apps Script vengono ignorati.
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());
Ritorni
HtmlOutputMetaTag[]
: un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando addMetaTag(name, content)
.
getTitle()
Restituisce il titolo della pagina di output. Tieni presente che l'elemento HTML <title> viene ignorato.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Ritorni
String
: il titolo della pagina.
getWidth()
Restituisce la larghezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. Se HtmlOutput
viene pubblicato come app web, questo metodo restituisce null
. Per ridimensionare una finestra di dialogo già aperta, chiama
google.script.host.setWidth(width)
nel codice lato client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Ritorni
Integer
: la larghezza in pixel.
setContent(content)
Imposta i contenuti di HtmlOutput
.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parametri
Nome | Tipo | Descrizione |
---|---|---|
content | String | I contenuti da pubblicare. |
Ritorni
HtmlOutput
: output per il concatenamento.
Tiri
Error
: se il formato dell'HTML non è corretto
setFaviconUrl(iconUrl)
Aggiunge un tag link per una favicon alla pagina. I tag link favicon inclusi direttamente in un file HTML Apps Script vengono ignorati.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parametri
Nome | Tipo | Descrizione |
---|---|---|
iconUrl | String | L'URL dell'immagine della favicon, con l'estensione immagine che indica il tipo di immagine. |
Ritorni
HtmlOutput
: output per il concatenamento.
setHeight(height)
Imposta l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. Se HtmlOutput
viene pubblicato come app web, questo metodo non ha alcun effetto. Per ridimensionare una finestra di dialogo già aperta, chiama
google.script.host.setHeight(height)
nel codice lato client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
height | Integer | La nuova altezza in pixel; null restituisce un valore predefinito. |
Ritorni
HtmlOutput
: output per il concatenamento.
setSandboxMode(mode)
Questo metodo ora non ha alcun effetto, in quanto in precedenza impostava il sandbox
mode
utilizzato per gli script lato client. Per proteggere gli utenti dalla pubblicazione di codice HTML o JavaScript dannoso, il codice lato client pubblicato dal servizio HTML viene eseguito in una sandbox per la sicurezza che impone limitazioni al codice. In origine questo metodo consentiva agli autori di script di scegliere tra diverse versioni della sandbox, ma ora tutti gli script ora utilizzano la modalità IFRAME
indipendentemente dalla modalità sandbox impostata. Per ulteriori informazioni, consulta la guida alle limitazioni nel servizio HTML.
La modalità IFRAME
impone molte meno restrizioni rispetto alle altre modalità sandbox ed è più veloce, ma non funziona affatto in alcuni browser meno recenti, tra cui Internet Explorer 9. La modalità sandbox può essere letta in uno script lato client ispezionando google.script.sandbox.mode
. Tieni presente che questa proprietà restituisce la modalità effettiva sul client, che potrebbe essere diversa da quella richiesta sul server se la modalità richiesta non è supportata nel browser dell'utente.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Parametri
Nome | Tipo | Descrizione |
---|---|---|
mode | SandboxMode | La modalità sandbox da utilizzare. |
Ritorni
HtmlOutput
: output per il concatenamento.
setTitle(title)
Imposta il titolo della pagina di output. Per le app web, si tratta del titolo dell'intera pagina, mentre per HtmlOutput
mostrato in Fogli Google è il titolo della finestra di dialogo.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parametri
Nome | Tipo | Descrizione |
---|---|---|
title | String | Il nuovo titolo. |
Ritorni
HtmlOutput
: output per il concatenamento.
setWidth(width)
Imposta la larghezza iniziale di una finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. Se HtmlOutput
viene pubblicato come app web, questo metodo non ha alcun effetto. Per ridimensionare una finestra di dialogo già aperta, chiama
google.script.host.setWidth(width)
nel codice lato client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
width | Integer | La nuova larghezza in pixel; null restituisce un valore predefinito. |
Ritorni
HtmlOutput
: output per il concatenamento.
setXFrameOptionsMode(mode)
Imposta lo stato dell'intestazione X-Frame-Options
della pagina, che controlla la prevenzione del clickjacking.
L'impostazione XFrameOptionsMode.ALLOWALL
consente a qualsiasi sito di inserire la pagina in iframe, pertanto lo sviluppatore deve implementare la propria protezione contro il clickjacking.
Se uno script non imposta una modalità X-Frame-Options
, Apps Script utilizza la modalità XFrameOptionsMode.DEFAULT
come predefinita.
// 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);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
mode | XFrameOptionsMode | La modalità opzioni XFrame da impostare. |
Ritorni
HtmlOutput
: output per il concatenamento.