Class HtmlOutput

HtmlOutput

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

MetodoTipo restituitoBreve descrizione
addMetaTag(name, content)HtmlOutputAggiunge un meta tag alla pagina.
append(addedContent)HtmlOutputAggiunge nuovi contenuti ai contenuti di questo HtmlOutput.
appendUntrusted(addedContent)HtmlOutputAggiunge nuovi contenuti ai contenuti di questo HtmlOutput, utilizzando l'escape contestuale.
asTemplate()HtmlTemplateRestituisce un valore HtmlTemplate supportato da questo HtmlOutput.
clear()HtmlOutputCancella i contenuti correnti.
getAs(contentType)BlobRestituisce i dati all'interno di questo oggetto sotto forma di blob convertito nel tipo di contenuto specificato.
getBlob()BlobRestituisce i dati all'interno di questo oggetto sotto forma di blob.
getContent()StringRecupera i contenuti di HtmlOutput.
getFaviconUrl()StringRecupera l'URL di un tag link favicon aggiunto alla pagina chiamando setFaviconUrl(iconUrl).
getHeight()IntegerRestituisce 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()StringRestituisce il titolo della pagina di output.
getWidth()IntegerRestituisce la larghezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google.
setContent(content)HtmlOutputImposta i contenuti di HtmlOutput.
setFaviconUrl(iconUrl)HtmlOutputAggiunge un tag link per una favicon alla pagina.
setHeight(height)HtmlOutputImposta l'altezza iniziale della finestra di dialogo personalizzata in Documenti, Fogli o Moduli Google.
setSandboxMode(mode)HtmlOutputQuesto metodo ora non ha alcun effetto, in quanto in precedenza impostava il 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 Documenti, Fogli o Moduli Google.
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 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

NomeTipoDescrizione
nameStringIl valore dell'attributo nome del meta tag.
contentStringIl 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

NomeTipoDescrizione
addedContentStringI 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>&lt;p&gt;Hello again, world.&lt;/p&gt;"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.appendUntrusted('<p>Hello again, world.</p>');
Logger.log(output.getContent());

Parametri

NomeTipoDescrizione
addedContentStringI 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

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, è 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

NomeTipoDescrizione
contentStringI 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

NomeTipoDescrizione
iconUrlStringL'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

NomeTipoDescrizione
heightIntegerLa 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

NomeTipoDescrizione
modeSandboxModeLa 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

NomeTipoDescrizione
titleStringIl 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

NomeTipoDescrizione
widthIntegerLa 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

NomeTipoDescrizione
modeXFrameOptionsModeLa modalità opzioni XFrame da impostare.

Ritorni

HtmlOutput: output per il concatenamento.