Un oggetto Html
che può essere pubblicato da uno script. Per motivi di sicurezza,
gli script non possono restituire direttamente HTML a un browser. Devono invece eseguire la saturazione in modo che non possa eseguire azioni dannose. Puoi restituire HTML destrutturato come questo:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
Html Output
può includere JavaScript e CSS incorporati. Si tratta di JavaScript lato client standard che manipola il DOM, non di Apps Script. Tutti questi contenuti vengono messi in sandbox utilizzando la sandboxing di iframe. Per ulteriori informazioni, consulta la guida alle limitazioni nel servizio HTML.Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
add | Html | Aggiunge un meta tag alla pagina. |
append(addedContent) | Html | Aggiunge nuovi contenuti ai contenuti di questo Html . |
append | Html | Aggiunge nuovi contenuti ai contenuti di questo Html , utilizzando l'escapismo contestuale. |
as | Html | Restituisce un Html supportato da questo Html . |
clear() | Html | Cancella i contenuti correnti. |
get | Blob | Restituisce i dati all'interno di questo oggetto come blob convertito nel tipo di contenuti specificato. |
get | Blob | Restituisce i dati all'interno di questo oggetto come blob. |
get | String | Recupera i contenuti di questo Html . |
get | String | Recupera l'URL di un tag link favicon aggiunto alla pagina chiamando set . |
get | Integer | Restituisce l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Forms Google. |
get | Html | Restituisce un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando add . |
get | String | Recupera il titolo della pagina di output. |
get | Integer | Restituisce la larghezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. |
set | Html | Imposta i contenuti di questo Html . |
set | Html | Aggiunge alla pagina un tag link per un favicon. |
set | Html | Imposta l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. |
set | Html | Questo metodo ora non ha alcun effetto. In precedenza impostava il sandbox
mode utilizzato per gli script lato client. |
set | Html | Imposta il titolo della pagina di output. |
set | Html | Imposta la larghezza iniziale di una finestra di dialogo personalizzata in Documenti, Fogli o Forms Google. |
set | Html | Imposta lo stato dell'intestazione X-Frame-Options della pagina, che controlla la prevenzione del clickjacking. |
Documentazione dettagliata
add Meta Tag(name, content)
Aggiunge un meta tag alla pagina. I meta tag inclusi direttamente in un file HTML di 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="..."/>
const 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 name del tag meta. |
content | String | Il valore dell'attributo content del tag meta. |
Invio
Html
: questo output, per l'accodamento.
append(addedContent)
Aggiunge nuovi contenuti ai contenuti di questo Html
. Utilizzalo solo per i contenuti di una fonte attendibile, perché non è codificato.
// 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());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
added | String | I contenuti da aggiungere. |
Invio
Html
: questo output, per l'accodamento.
Lanci
Error
: se il codice HTML non è valido
Vedi anche
append Untrusted(addedContent)
Aggiunge nuovi contenuti ai contenuti di questo Html
, utilizzando l'escapismo contestuale.
Questo metodo esegue correttamente la codifica dei contenuti in base allo stato corrente di Html
,
in modo che il risultato sia una stringa sicura senza markup o effetti collaterali. Utilizzalo al posto di append ogni volta che aggiungi contenuti da una fonte non attendibile, ad esempio da un utente, per evitare di consentire accidentalmente un bug di cross-site scripting (XSS) in cui i contenuti o il markup aggiunti causano l'esecuzione di codice inaspettata.
// 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());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
added | String | I contenuti da aggiungere. |
Invio
Html
: questo output, per l'accodamento.
Lanci
Error
: se il codice HTML è molto deformato
Vedi anche
as Template()
Restituisce un Html
supportato da questo Html
. Questo metodo può essere utilizzato per
costruire un modello in modo incrementale. Le modifiche future a Html
influiscono anche sui contenuti di Html
.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); const template = output.asTemplate();
Invio
Html
: il nuovo Html
.
clear()
Cancella i contenuti correnti.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Invio
Html
: questo output, per l'accodamento.
get As(contentType)
Restituisce i dati all'interno di questo oggetto come blob convertito nel tipo di contenuti specificato. Questo metodo aggiunge l'estensione appropriata al nome file, ad esempio "myfile.pdf". Tuttavia, assume che la parte del nome 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 |
---|---|---|
content | String | Il tipo MIME a 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, sono validi anche 'image/bmp' , 'image/gif' , 'image/jpeg' o 'image/png' . Per un documento di Documenti Google, è valido anche 'text/markdown' . |
Invio
Blob
: i dati come blob.
get Blob()
get Content()
Recupera i contenuti di questo Html
.
// Log "<b>Hello, world!</b>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Invio
String
: i contenuti pubblicati.
get Favicon Url()
Recupera l'URL di un tag link favicon aggiunto alla pagina chiamando set
. I tag link favicon inclusi direttamente in un file HTML di Apps Script vengono ignorati.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Invio
String
: l'URL dell'immagine della favicon.
get Height()
Restituisce l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Forms Google. Se Html
è 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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Invio
Integer
: l'altezza in pixel.
get Meta Tags()
Restituisce un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando add
. I meta tag inclusi direttamente in un file HTML di Apps Script vengono ignorati.
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(), );
Invio
Html
: un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando add
.
get Title()
Recupera il titolo della pagina di output. Tieni presente che l'elemento HTML <title> viene ignorato.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Invio
String
: il titolo della pagina.
get Width()
Restituisce la larghezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. Se Html
è 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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Invio
Integer
: la larghezza in pixel.
set Content(content)
Imposta i contenuti di questo Html
.
const output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parametri
Nome | Tipo | Descrizione |
---|---|---|
content | String | I contenuti da pubblicare. |
Invio
Html
: questo output, per l'accodamento.
Lanci
Error
: se il codice HTML non è valido
set Favicon Url(iconUrl)
Aggiunge alla pagina un tag link per un favicon. I tag link favicon inclusi direttamente in un file HTML di Apps Script vengono ignorati.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parametri
Nome | Tipo | Descrizione |
---|---|---|
icon | String | L'URL dell'immagine favicon, con l'estensione che indica il tipo di immagine. |
Invio
Html
: questo output, per l'accodamento.
set Height(height)
Imposta l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google. Se Html
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.
const 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. |
Invio
Html
: questo output, per l'accodamento.
set Sandbox Mode(mode)
Questo metodo ora non ha alcun effetto. In precedenza impostava il sandbox
mode
utilizzato per gli script lato client. Per proteggere gli utenti dalla visualizzazione di codice HTML o JavaScript dannoso, il codice lato client pubblicato dal servizio HTML viene eseguito in una sandbox di 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 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 limitazioni rispetto alle altre modalità di sandbox e gira più velocemente, 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 può essere diversa dalla modalità richiesta sul server se quest'ultima 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 | Sandbox | La modalità sandbox da utilizzare. |
Invio
Html
: questo output, per l'accodamento.
set Title(title)
Imposta il titolo della pagina di output. Per le app web, si tratta del titolo dell'intera pagina, mentre per Html
mostrato in Fogli Google, si tratta del titolo della finestra di dialogo.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parametri
Nome | Tipo | Descrizione |
---|---|---|
title | String | Il nuovo titolo. |
Invio
Html
: questo output, per l'accodamento.
set Width(width)
Imposta la larghezza iniziale di una finestra di dialogo personalizzata in Documenti, Fogli o Forms Google. Se Html
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.
const 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. |
Invio
Html
: questo output, per l'accodamento.
set XFrame Options Mode(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 un 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). const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
mode | XFrameOptionsMode | La modalità delle opzioni XFrame da impostare. |
Invio
Html
: questo output, per l'accodamento.