Class HtmlOutput

HtmlOutput

Un oggetto HtmlOutput che può essere pubblicato da uno script. Per motivi di sicurezza, gli script non possono restituire direttamente HTML a un browser. Al contrario, deve essere sanificato in modo che non possa eseguire azioni dannose. Puoi restituire HTML pulito come questo:

function doGet() {
  return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
}
Il codice in HtmlOutput può includere JavaScript e CSS incorporati. Si tratta di JavaScript lato client standard che manipola il DOM, non di Apps Script. Tutti questi contenuti sono in sandbox utilizzando la sandbox iframe. Per saperne di più, consulta la guida alle limitazioni nel servizio HTML.

Metodi

MetodoTipo restituitoBreve descrizione
addMetaTag(name, content)HtmlOutputAggiunge un meta tag alla pagina.
append(addedContent)HtmlOutputAggiunge nuovi contenuti a quelli di questo HtmlOutput.
appendUntrusted(addedContent)HtmlOutputAggiunge nuovi contenuti a quelli di questo HtmlOutput, utilizzando l'escape contestuale.
asTemplate()HtmlTemplateRestituisce un HtmlTemplate supportato da questo HtmlOutput.
clear()HtmlOutputCancella i contenuti attuali.
getAs(contentType)BlobRestituisce i dati all'interno di questo oggetto come blob convertito nel tipo di contenuti specificato.
getBlob()BlobRestituisce i dati all'interno di questo oggetto come blob.
getContent()StringRecupera i contenuti di questo HtmlOutput.
getFaviconUrl()StringRecupera l'URL di un tag link favicon aggiunto alla pagina chiamando setFaviconUrl(iconUrl).
getHeight()IntegerOttiene l'altezza iniziale della finestra di dialogo personalizzata in Google Docs, Fogli o Moduli.
getMetaTags()HtmlOutputMetaTag[]Recupera un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando addMetaTag(name, content).
getTitle()StringRecupera il titolo della pagina di output.
getWidth()IntegerOttiene la larghezza iniziale della finestra di dialogo personalizzata in Google Docs, Fogli o Moduli.
setContent(content)HtmlOutputImposta i contenuti di questo HtmlOutput.
setFaviconUrl(iconUrl)HtmlOutputAggiunge alla pagina un tag link per una favicon.
setHeight(height)HtmlOutputImposta l'altezza iniziale della finestra di dialogo personalizzata in Google Docs, Fogli o Moduli.
setSandboxMode(mode)HtmlOutputQuesto metodo ora non ha alcun effetto. In precedenza, impostava sandbox mode utilizzato per gli script lato client.
setTitle(title)HtmlOutputImposta il titolo della pagina di output.
setWidth(width)HtmlOutputImposta la larghezza iniziale di una finestra di dialogo personalizzata in Google Docs, Fogli o Moduli.
setXFrameOptionsMode(mode)HtmlOutputImposta 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 di Apps Script vengono ignorati. Sono consentiti solo i seguenti metatag:

<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');

Parametri

NomeTipoDescrizione
nameStringIl valore dell'attributo name del metatag.
contentStringIl valore dell'attributo content del metatag.

Indietro

HtmlOutput: questo output, per il concatenamento.


append(addedContent)

Aggiunge nuovi contenuti a quelli di questo HtmlOutput. Utilizza questo valore solo per i contenuti provenienti da una fonte attendibile, perché non viene eseguita l'escape.

// 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());

Parametri

NomeTipoDescrizione
addedContentStringI contenuti da aggiungere.

Indietro

HtmlOutput: questo output, per il concatenamento.

Genera

Error: se il codice HTML non è valido

Vedi anche


appendUntrusted(addedContent)

Aggiunge nuovi contenuti a quelli di questo HtmlOutput, utilizzando l'escape contestuale.

Questo metodo esegue l'escape corretto dei contenuti in base allo stato attuale di HtmlOutput, in modo che il risultato sia una stringa sicura senza markup o effetti collaterali. Utilizza questo metodo anziché 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 che aggiungi causano l'esecuzione imprevista del codice.

// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.&lt;/pgt;"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
output<.>appendUntrusted(<9;>pHello again, world./p');
Logger.log(output.getContent());

Parametri

NomeTipoDescrizione
addedContentStringI contenuti da aggiungere.

Indietro

HtmlOutput: questo output, per il concatenamento.

Genera

Error: se il codice HTML è molto malformato

Vedi anche


asTemplate()

Restituisce un HtmlTemplate supportato da questo HtmlOutput. Questo metodo può essere utilizzato per creare un modello in modo incrementale. Le modifiche future a HtmlOutput influiscono anche sui contenuti di HtmlTemplate.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
const template = output.asTemplate();

Indietro

HtmlTemplate — Il nuovo HtmlTemplate.


clear()

Cancella i contenuti attuali.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.clear();

Indietro

HtmlOutput: questo output, per il concatenamento.


getAs(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, si presume 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ù rigide.

Parametri

NomeTipoDescrizione
contentTypeStringIl 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, sono validi anche 'image/bmp', 'image/gif', 'image/jpeg' o 'image/png'. Per un documento Google, è valido anche 'text/markdown'.

Indietro

Blob: i dati come blob.


getBlob()

Restituisce i dati all'interno di questo oggetto come blob.

Indietro

Blob: i dati come blob.


getContent()

Recupera i contenuti di questo HtmlOutput.

// Log &<q>uot;bHello, w<or>ld!/b"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
Logger.log(output.getContent());

Indietro

String: i contenuti pubblicati.


getFaviconUrl()

Recupera l'URL di un tag link favicon aggiunto alla pagina chiamando setFaviconUrl(iconUrl). I tag di link favicon inclusi direttamente in un file HTML di Apps Script vengono ignorati.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

Indietro

String: l'URL dell'immagine della favicon.


getHeight()

Ottiene l'altezza iniziale della finestra di dialogo personalizzata in Google Docs, Fogli o Moduli. 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.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setHeight(200);
Logger.log(output.getHeight());

Indietro

Integer: l'altezza, in pixel.


getMetaTags()

Recupera 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 di Apps Script vengono ignorati.

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(),
);

Indietro

HtmlOutputMetaTag[]: un array di oggetti che rappresentano i meta tag aggiunti alla pagina chiamando addMetaTag(name, content).


getTitle()

Recupera il titolo della pagina di output. Tieni presente che l'elemento HTML <title> viene ignorato.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
Logger.log(output.getTitle());

Indietro

String: il titolo della pagina.


getWidth()

Ottiene la larghezza iniziale della finestra di dialogo personalizzata in Google Docs, Fogli o Moduli. 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.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setWidth(200);
Logger.log(output.getWidth());

Indietro

Integer: la larghezza in pixel.


setContent(content)

Imposta i contenuti di questo HtmlOutput.

const output = HtmlService.createHtmlOutput();
output.setContent(&<#>39;bHello, wo<rl>d!/b');

Parametri

NomeTipoDescrizione
contentStringI contenuti da erogare.

Indietro

HtmlOutput: questo output, per il concatenamento.

Genera

Error: se il codice HTML non è ben formato


setFaviconUrl(iconUrl)

Aggiunge alla pagina un tag link per una favicon. I tag di link favicon inclusi direttamente in un file HTML di Apps Script vengono ignorati.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setFaviconUrl('http://www.example.com/image.png');

Parametri

NomeTipoDescrizione
iconUrlStringL'URL dell'immagine favicon, con l'estensione dell'immagine che indica il tipo di immagine.

Indietro

HtmlOutput: questo output, per il concatenamento.


setHeight(height)

Imposta l'altezza iniziale della finestra di dialogo personalizzata in Google Docs, Fogli o Moduli. 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.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setHeight(200);

Parametri

NomeTipoDescrizione
heightIntegerLa nuova altezza in pixel; null restituisce un valore predefinito.

Indietro

HtmlOutput: questo output, per il concatenamento.


setSandboxMode(mode)

Questo metodo ora non ha alcun effetto. In precedenza, impostava sandbox mode utilizzato per gli script lato client. Per proteggere gli utenti dalla pubblicazione di HTML o JavaScript dannosi, il codice lato client pubblicato dal servizio HTML viene eseguito in una sandbox di sicurezza che impone restrizioni 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 saperne di più, consulta la guida alle limitazioni nel servizio HTML.

La modalità IFRAME impone molte meno limitazioni rispetto alle altre modalità sandbox e funziona 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 esaminando google.script.sandbox.mode. Tieni presente che questa proprietà restituisce la modalità effettiva sul client, che potrebbe differire dalla modalità 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

NomeTipoDescrizione
modeSandboxModeLa modalità sandbox da utilizzare.

Indietro

HtmlOutput: questo output, per il concatenamento.


setTitle(title)

Imposta il titolo della pagina di output. Per le app web, questo è il titolo dell'intera pagina, mentre per HtmlOutput mostrato in Fogli Google, questo è il titolo della finestra di dialogo.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setTitle('My First Page');

Parametri

NomeTipoDescrizione
titleStringIl nuovo titolo.

Indietro

HtmlOutput: questo output, per il concatenamento.


setWidth(width)

Imposta la larghezza iniziale di una finestra di dialogo personalizzata in Google Docs, Fogli o Moduli. 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.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setWidth(200);

Parametri

NomeTipoDescrizione
widthIntegerLa nuova larghezza in pixel; null restituisce un valore predefinito.

Indietro

HtmlOutput: questo 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 incorporare la pagina in un iframe, pertanto lo sviluppatore deve implementare una propria protezione dal 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(&<#>39;bHello, wo<rl>d!/b');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

Parametri

NomeTipoDescrizione
modeXFrameOptionsModeLa modalità delle opzioni XFrame da impostare.

Indietro

HtmlOutput: questo output, per il concatenamento.