Objet Html
pouvant être diffusé à partir d'un script. Pour des raisons de sécurité, les scripts ne peuvent pas renvoyer directement du code HTML à un navigateur. Au lieu de cela, 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
Html Output
peut inclure du code JavaScript et CSS intégré. (il s'agit de JavaScript côté client standard qui manipule le DOM, et non d'Apps Script). L'ensemble de ce contenu est placé dans un bac à sable à l'aide du bac à sable d'iFrame. Pour en savoir plus, consultez le guide des restrictions du service HTML.Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
add | Html | Ajoute une balise Meta à la page. |
append(addedContent) | Html | Ajoute un nouveau contenu au contenu de cet élément Html . |
append | Html | Ajoute un nouveau contenu au contenu de cet élément Html , à l'aide d'une échappement contextuel. |
as | Html | Renvoie un Html basé sur cet objet Html . |
clear() | Html | Efface le contenu actuel. |
get | Blob | Renvoie les données de cet objet sous forme de blob converti au type de contenu spécifié. |
get | Blob | Renvoyez les données de cet objet sous forme de blob. |
get | String | Récupère le contenu de cet élément Html . |
get | String | Récupère l'URL d'une balise de lien de favicon ajoutée à la page en appelant set . |
get | Integer | Récupère la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
get | Html | Récupère un tableau d'objets représentant les balises méta ajoutées à la page en appelant add . |
get | String | Récupère le titre de la page de sortie. |
get | Integer | Récupère la largeur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
set | Html | Définit le contenu de cet élément Html . |
set | Html | Ajoute une balise de lien pour une icône de favoris à la page. |
set | Html | Définit la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
set | Html | Cette méthode n'a désormais aucun effet. Auparavant, elle définissait l'sandbox
mode utilisé pour les scripts côté client. |
set | Html | Définit le titre de la page de sortie. |
set | Html | Définit la largeur initiale d'une boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. |
set | Html | Définit l'état de l'en-tête X-Frame-Options de la page, qui contrôle la prévention du hameçonnage par clic. |
Documentation détaillée
add Meta Tag(name, content)
Ajoute une balise Meta à la page. Les balises méta incluses directement dans un fichier HTML Apps Script sont ignorées. Seules les méta-balises 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="..."/>
const 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 name de la balise méta. |
content | String | Valeur de l'attribut "content" de la balise méta. |
Renvois
Html
: cette sortie, pour le chaînage.
append(addedContent)
Ajoute un nouveau contenu au contenu de cet élément Html
. N'utilisez cette option que pour le contenu provenant d'une source fiable, car il n'est pas échappé.
// 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());
Paramètres
Nom | Type | Description |
---|---|---|
added | String | Contenu à ajouter. |
Renvois
Html
: cette sortie, pour le chaînage.
Génère
Error
: si le code HTML n'est pas correctement formaté
Voir aussi
append Untrusted(addedContent)
Ajoute un nouveau contenu au contenu de cet élément Html
, à l'aide d'une échappement contextuel.
Cette méthode échappe correctement le contenu en fonction de l'état actuel de Html
, de sorte que le résultat soit une chaîne sécurisée sans balisage ni effet secondaire. Utilisez-le au lieu d'utiliser l'opérateur "append" chaque fois que vous ajoutez du contenu à partir d'une source non fiable, comme un utilisateur, pour éviter d'autoriser accidentellement un bug de script intersites (XSS) où le contenu ou le balisage que vous ajoutez provoque une exécution de code inattendue.
// 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());
Paramètres
Nom | Type | Description |
---|---|---|
added | String | Contenu à ajouter. |
Renvois
Html
: cette sortie, pour le chaînage.
Génère
Error
: si le code HTML est très mal formaté
Voir aussi
as Template()
Renvoie un Html
basé sur cet objet Html
. Cette méthode permet de créer un modèle de manière incrémentielle. Les futures modifications apportées à Html
affecteront également le contenu de Html
.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); const template = output.asTemplate();
Renvois
Html
: nouveau Html
.
clear()
Efface le contenu actuel.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Renvois
Html
: cette sortie, pour le chaînage.
get As(contentType)
Renvoie les données de cet objet sous forme de 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, il suppose que la partie du nom de fichier qui suit le dernier point (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 pour les conversions, consultez la section Quotas pour les services Google. Les nouveaux domaines Google Workspace peuvent être temporairement soumis à des quotas plus stricts.
Paramètres
Nom | Type | Description |
---|---|---|
content | 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, les valeurs 'image/bmp' , 'image/gif' , 'image/jpeg' ou 'image/png' sont également valides. Pour un document Google Docs, 'text/markdown' est également valide. |
Renvois
Blob
: données sous forme de blob.
get Blob()
get Content()
Récupère le contenu de cet élément Html
.
// Log "<b>Hello, world!</b>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Renvois
String
: contenu diffusé.
get Favicon Url()
Récupère l'URL d'une balise de lien de favicon ajoutée à la page en appelant set
. Les balises de lien de favicon incluses directement dans un fichier HTML Apps Script sont ignorées.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Renvois
String
: URL de l'image du favicon.
get Height()
Récupère la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si Html
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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Renvois
Integer
: hauteur, en pixels.
get Meta Tags()
Récupère un tableau d'objets représentant les balises méta ajoutées à la page en appelant add
. Les balises méta incluses directement dans un fichier HTML Apps Script sont ignorées.
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(), );
Renvois
Html
: tableau d'objets représentant les balises Meta ajoutées à la page en appelant add
.
get Title()
Récupère le titre de la page de sortie. Notez que l'élément HTML <title> est ignoré.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Renvois
String
: titre de la page.
get Width()
Récupère la largeur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si Html
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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Renvois
Integer
: largeur en pixels.
set Content(content)
Définit le contenu de cet élément Html
.
const output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Paramètres
Nom | Type | Description |
---|---|---|
content | String | Contenu à diffuser. |
Renvois
Html
: cette sortie, pour le chaînage.
Génère
Error
: si le code HTML n'est pas correctement formaté
set Favicon Url(iconUrl)
Ajoute une balise de lien pour une icône de favoris à la page. Les balises de lien de favicon incluses directement dans un fichier HTML Apps Script sont ignorées.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Paramètres
Nom | Type | Description |
---|---|---|
icon | String | URL de l'image de la favicon, avec l'extension d'image indiquant le type d'image. |
Renvois
Html
: cette sortie, pour le chaînage.
set Height(height)
Définit la hauteur initiale de la boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si le Html
est publié en tant qu'application Web à la place, 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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Paramètres
Nom | Type | Description |
---|---|---|
height | Integer | Nouvelle hauteur en pixels. La valeur null génère une valeur par défaut. |
Renvois
Html
: cette sortie, pour le chaînage.
set Sandbox Mode(mode)
Cette méthode n'a désormais aucun effet. Auparavant, elle définissait l'sandbox
mode
utilisé pour les scripts côté client. Pour protéger les utilisateurs contre le 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 au code. À l'origine, cette méthode permettait aux auteurs de scripts de choisir entre différentes versions du bac à sable, mais 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 des restrictions du service HTML.
Le mode IFRAME
impose beaucoup moins de restrictions que les autres modes de bac à sable et s'exécute plus rapidement, mais ne fonctionne pas du tout dans certains anciens navigateurs, y compris Internet Explorer 9. Le mode bac à sable 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 différer 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 | Sandbox | Mode bac à sable à utiliser. |
Renvois
Html
: cette sortie, pour le chaînage.
set Title(title)
Définit le titre de la page de sortie. Pour les applications Web, il s'agit du titre de l'ensemble de la page, tandis que pour les Html
affichées dans Google Sheets, il s'agit du titre de la boîte de dialogue.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Paramètres
Nom | Type | Description |
---|---|---|
title | String | Nouveau titre. |
Renvois
Html
: cette sortie, pour le chaînage.
set Width(width)
Définit la largeur initiale d'une boîte de dialogue personnalisée dans Google Docs, Sheets ou Forms. Si le Html
est publié en tant qu'application Web à la place, 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.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Paramètres
Nom | Type | Description |
---|---|---|
width | Integer | Nouvelle largeur en pixels. La valeur null génère une valeur par défaut. |
Renvois
Html
: cette sortie, pour le chaînage.
set XFrame Options Mode(mode)
Définit l'état de l'en-tête X-Frame-Options
de la page, qui contrôle la prévention du hameçonnage par clic.
Le paramètre XFrameOptionsMode.ALLOWALL
permet à n'importe quel site d'intégrer la page dans un iFrame. Le développeur doit donc implémenter sa propre protection contre le hameçonnage de clics.
Si un script ne définit pas de mode X-Frame-Options
, Apps Script utilise le mode XFrameOptionsMode.DEFAULT
par défaut.
// 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);
Paramètres
Nom | Type | Description |
---|---|---|
mode | XFrameOptionsMode | Mode des options XFrame à définir. |
Renvois
Html
: cette sortie, pour le chaînage.