Un objet HtmlOutput
qui peut être diffusé à partir d'un script. Pour des raisons de sécurité, les scripts ne peuvent pas renvoyer directement le code HTML à un navigateur. Ils doivent le nettoyer pour qu'il ne puisse pas effectuer d'actions malveillantes. Vous pouvez renvoyer du code HTML nettoyé comme suit:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }Le code de
HtmlOutput
peut inclure du code JavaScript et CSS intégré. (Il s'agit d'un code JavaScript côté client standard qui manipule le DOM, et non Apps Script.) Tout ce contenu est exécuté en bac à sable via un bac à sable iFrame. Pour en savoir plus, consultez le guide sur les restrictions dans le service HTML.Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Ajoute une balise Meta à la page. |
append(addedContent) | HtmlOutput | Ajoute du nouveau contenu au contenu de cette HtmlOutput . |
appendUntrusted(addedContent) | HtmlOutput | Ajoute du nouveau contenu au contenu de cette HtmlOutput à l'aide de l'échappement contextuel. |
asTemplate() | HtmlTemplate | Renvoie un HtmlTemplate basé sur ce HtmlOutput . |
clear() | HtmlOutput | Efface le contenu actuel. |
getAs(contentType) | Blob | Renvoyez les données de cet objet en tant qu'objet blob converti au type de contenu spécifié. |
getBlob() | Blob | Renvoyez les données de cet objet en tant que blob. |
getContent() | String | Récupère le contenu de HtmlOutput . |
getFaviconUrl() | String | Récupère l'URL d'un tag de lien favicon ajouté à la page en appelant setFaviconUrl(iconUrl) . |
getHeight() | Integer | Récupère la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
getMetaTags() | HtmlOutputMetaTag[] | Récupère un tableau d'objets représentant des balises Meta ajoutées à la page en appelant addMetaTag(name, content) . |
getTitle() | String | Récupère le titre de la page de sortie. |
getWidth() | Integer | Récupère la largeur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
setContent(content) | HtmlOutput | Définit le contenu de ce HtmlOutput . |
setFaviconUrl(iconUrl) | HtmlOutput | Ajoute un tag de lien pour un favicon à la page. |
setHeight(height) | HtmlOutput | Définit la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
setSandboxMode(mode) | HtmlOutput | Cette méthode n'a plus d'effet : elle définissait sandbox
mode pour les scripts côté client. |
setTitle(title) | HtmlOutput | Définit le titre de la page de sortie. |
setWidth(width) | HtmlOutput | Définit la largeur initiale d'une boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
setXFrameOptionsMode(mode) | HtmlOutput | Définit l'état de l'en-tête X-Frame-Options de la page, qui contrôle la prévention du détournement de clic. |
Documentation détaillée
addMetaTag(name, content)
Ajoute une balise Meta à la page. Les balises Meta incluses directement dans un fichier HTML Apps Script sont ignorées. Seules les balises Meta suivantes sont autorisées:
<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');
Paramètres
Nom | Type | Description |
---|---|---|
name | String | Valeur de l'attribut de nom de la balise Meta. |
content | String | Valeur de l'attribut de contenu de la balise Meta. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
append(addedContent)
Ajoute du nouveau contenu au contenu de cette HtmlOutput
. N'utilisez cette option que pour le contenu provenant d'une source fiable, car elle ne dispose pas d'échappement.
// 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());
Paramètres
Nom | Type | Description |
---|---|---|
addedContent | String | Contenu à ajouter. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
Génère
Error
: si le code HTML est incorrect
Voir aussi
appendUntrusted(addedContent)
Ajoute du nouveau contenu au contenu de cette HtmlOutput
à l'aide de l'échappement contextuel.
Cette méthode échappe correctement le contenu en fonction de l'état actuel de HtmlOutput
, afin que le résultat soit une chaîne sécurisée sans balisage ni impact secondaire. Utilisez cette méthode plutôt que "append" chaque fois que vous ajoutez du contenu provenant d'une source non fiable, comme celle d'un utilisateur, afin d'éviter d'autoriser accidentellement un bug de script intersites (XSS) qui ajoute du code ou une exécution inattendue du contenu ou du balisage.
// 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());
Paramètres
Nom | Type | Description |
---|---|---|
addedContent | String | Contenu à ajouter. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
Génère
Error
: si le code HTML est très incorrect
Voir aussi
asTemplate()
Renvoie un HtmlTemplate
basé sur ce HtmlOutput
. Cette méthode peut servir à créer un modèle de manière incrémentielle. Les modifications ultérieures sur HtmlOutput
affectent également le contenu de HtmlTemplate
.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Aller-retour
HtmlTemplate
: nouveau HtmlTemplate
.
clear()
Efface le contenu actuel.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Aller-retour
HtmlOutput
: sortie pour le chaînage.
getAs(contentType)
Renvoyez les données de cet objet en tant qu'objet blob converti au type de contenu spécifié. Cette méthode ajoute l'extension appropriée au nom de fichier, par exemple "monfichier.pdf". Toutefois, nous partons du principe que la partie du nom de fichier qui suit la dernière période (le cas échéant) est une extension existante qui doit être remplacée. Par conséquent, "ShoppingList.12.25.2014" devient "ShoppingList.12.25.pdf".
Pour afficher les quotas quotidiens des conversions, consultez la page Quotas pour les services Google. Les domaines Google Workspace créés récemment peuvent être soumis à des quotas plus stricts.
Paramètres
Nom | Type | Description |
---|---|---|
contentType | String | Type MIME vers lequel effectuer la conversion. Pour la plupart des blobs, 'application/pdf' est la seule option valide. Pour les images au format BMP, GIF, JPEG ou PNG, vous pouvez utiliser les formats 'image/bmp' , 'image/gif' , 'image/jpeg' ou 'image/png' . |
Aller-retour
Blob
: données en tant que blob.
getBlob()
getContent()
Récupère le contenu de HtmlOutput
.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Aller-retour
String
: contenu diffusé.
getFaviconUrl()
Récupère l'URL d'un tag de lien favicon ajouté à la page en appelant setFaviconUrl(iconUrl)
. Les tags de lien Favicon inclus directement dans un fichier HTML Apps Script sont ignorés.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Aller-retour
String
: URL de l'image favicon.
getHeight()
Récupère la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si HtmlOutput
est publié en tant qu'application Web, cette méthode renvoie null
. Pour redimensionner une boîte de dialogue déjà ouverte, appelez google.script.host.setHeight(height)
dans le code côté client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Aller-retour
Integer
: hauteur, en pixels.
getMetaTags()
Récupère un tableau d'objets représentant des balises Meta ajoutées à la page en appelant addMetaTag(name, content)
. Les balises Meta incluses directement dans un fichier HTML Apps Script sont ignorées.
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());
Aller-retour
HtmlOutputMetaTag[]
: tableau d'objets représentant les balises Meta ajoutées à la page en appelant addMetaTag(name, content)
.
getTitle()
Récupère le titre de la page de sortie. Notez que l'élément HTML <title> est ignoré.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Aller-retour
String
: titre de la page.
getWidth()
Récupère la largeur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si HtmlOutput
est publié en tant qu'application Web, cette méthode renvoie null
. Pour redimensionner une boîte de dialogue déjà ouverte, appelez google.script.host.setWidth(width)
dans le code côté client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Aller-retour
Integer
: largeur en pixels.
setContent(content)
Définit le contenu de ce HtmlOutput
.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Paramètres
Nom | Type | Description |
---|---|---|
content | String | Contenu à diffuser. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
Génère
Error
: si le code HTML est incorrect
setFaviconUrl(iconUrl)
Ajoute un tag de lien pour un favicon à la page. Les tags de lien de favicon inclus directement dans un fichier HTML Apps Script sont ignorés.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Paramètres
Nom | Type | Description |
---|---|---|
iconUrl | String | URL de l'image favicon, avec l'extension d'image indiquant le type d'image. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
setHeight(height)
Définit la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si HtmlOutput
est publié en tant qu'application Web, cette méthode n'a aucun effet. Pour redimensionner une boîte de dialogue déjà ouverte, appelez google.script.host.setHeight(height)
dans le code côté client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Paramètres
Nom | Type | Description |
---|---|---|
height | Integer | Nouvelle hauteur en pixels. null génère une valeur par défaut. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
setSandboxMode(mode)
Cette méthode n'a plus d'effet : elle définissait sandbox
mode
pour les scripts côté client. Pour empêcher les utilisateurs d'être exposés à du code HTML ou JavaScript malveillant, le code côté client diffusé à partir du service HTML s'exécute dans un bac à sable de sécurité qui impose des restrictions sur le code. Auparavant, cette méthode permettait aux auteurs de scripts de choisir entre différentes versions du bac à sable. Désormais, tous les scripts utilisent désormais le mode IFRAME
, quel que soit le mode de bac à sable défini. Pour en savoir plus, consultez le guide sur les restrictions dans le service HTML.
Le mode IFRAME
impose beaucoup moins de restrictions que les autres modes Sandbox et s'exécute plus rapidement, mais ne fonctionne pas du tout dans certains navigateurs plus anciens, y compris Internet Explorer 9. Le mode sandbox peut être lu dans un script côté client en inspectant google.script.sandbox.mode
. Notez que cette propriété renvoie le mode réel sur le client, qui peut être différent du mode demandé sur le serveur si le mode demandé n'est pas compatible avec le navigateur de l'utilisateur.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Paramètres
Nom | Type | Description |
---|---|---|
mode | SandboxMode | Mode sandbox à utiliser. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
setTitle(title)
Définit le titre de la page de sortie. Pour les applications Web, il s'agit du titre de la page entière, tandis que pour HtmlOutput
s'affiche dans Google Sheets, il s'agit du titre de la boîte de dialogue.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Paramètres
Nom | Type | Description |
---|---|---|
title | String | Nouveau titre. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
setWidth(width)
Définit la largeur initiale d'une boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si HtmlOutput
est publié en tant qu'application Web, cette méthode n'a aucun effet. Pour redimensionner une boîte de dialogue déjà ouverte, appelez google.script.host.setWidth(width)
dans le code côté client.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Paramètres
Nom | Type | Description |
---|---|---|
width | Integer | Nouvelle largeur en pixels. null génère une valeur par défaut. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.
setXFrameOptionsMode(mode)
Définit l'état de l'en-tête X-Frame-Options
de la page, qui contrôle la prévention du détournement de clic.
Définir XFrameOptionsMode.ALLOWALL
permet à n'importe quel site d'iFrame la page. Le développeur doit donc mettre en œuvre sa propre protection contre le détournement de clic.
Si un script ne définit pas le mode X-Frame-Options
, Apps Script utilise le mode XFrameOptionsMode.DEFAULT
comme mode par défaut.
// 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);
Paramètres
Nom | Type | Description |
---|---|---|
mode | XFrameOptionsMode | Mode des options XFrame à définir. |
Aller-retour
HtmlOutput
: sortie pour le chaînage.