Ein HtmlOutput
-Objekt, das von einem Skript bereitgestellt werden kann. Aus Sicherheitsgründen
Skripte können HTML nicht direkt an einen Browser zurückgeben. Stattdessen müssen sie es bereinigen,
keine schädlichen Aktionen ausführen. So können Sie bereinigten HTML-Code zurückgeben:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
HtmlOutput
kann eingebetteten JavaScript- und CSS-Code enthalten. (Dies ist die Standard-
clientseitiges JavaScript, das das DOM manipuliert, nicht Apps Script). Alle diese Inhalte sind
in einer Sandbox mit iFrame ausgeführt
Sandboxing. Weitere Informationen finden Sie im Leitfaden zu Einschränkungen beim HTML-Dienst.Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Fügt der Seite ein Meta-Tag hinzu. |
append(addedContent) | HtmlOutput | Hängt neuen Inhalt an den Inhalt von HtmlOutput an. |
appendUntrusted(addedContent) | HtmlOutput | Hängt mithilfe von kontextbezogenem Escaping neuen Content an den Inhalt von HtmlOutput an. |
asTemplate() | HtmlTemplate | Gibt ein HtmlTemplate zurück, das durch diesen HtmlOutput gestützt wird. |
clear() | HtmlOutput | Löscht den aktuellen Inhalt. |
getAs(contentType) | Blob | Gibt die Daten in diesem Objekt als Blob zurück, das in den angegebenen Inhaltstyp konvertiert wurde. |
getBlob() | Blob | Gibt die Daten in diesem Objekt als Blob zurück. |
getContent() | String | Ruft den Inhalt von HtmlOutput ab. |
getFaviconUrl() | String | Ruft die URL für ein Favicon-Link-Tag ab, das der Seite durch Aufrufen von setFaviconUrl(iconUrl) hinzugefügt wurde. |
getHeight() | Integer | Ruft die anfängliche Höhe des benutzerdefinierten Dialogfelds in Google ab Google Docs, Google Tabellen oder Google Formulare. |
getMetaTags() | HtmlOutputMetaTag[] | Ruft ein Array mit Objekten ab, die Meta-Tags darstellen, die durch Aufrufen von addMetaTag(name, content) zur Seite hinzugefügt wurden. |
getTitle() | String | Ruft den Titel der Ausgabeseite ab. |
getWidth() | Integer | Ruft die anfängliche Breite des benutzerdefinierten Dialogfelds in Google ab. Google Docs, Google Tabellen oder Google Formulare. |
setContent(content) | HtmlOutput | Legt den Inhalt von HtmlOutput fest. |
setFaviconUrl(iconUrl) | HtmlOutput | Fügt der Seite ein Link-Tag für ein Favicon hinzu. |
setHeight(height) | HtmlOutput | Legt die anfängliche Höhe des benutzerdefinierten Dialogfelds in Google fest Google Docs, Google Tabellen oder Google Formulare. |
setSandboxMode(mode) | HtmlOutput | Diese Methode hat jetzt keine Auswirkungen. Zuvor wurde das sandbox
mode festgelegt, das für clientseitige Skripts verwendet wurde. |
setTitle(title) | HtmlOutput | Legt den Titel der Ausgabeseite fest. |
setWidth(width) | HtmlOutput | Legt die anfängliche Breite eines benutzerdefinierten Dialogfelds in Google fest Google Docs, Google Tabellen oder Google Formulare. |
setXFrameOptionsMode(mode) | HtmlOutput | Legt den Status des X-Frame-Options -Headers der Seite fest, der das Clickjacking steuert
Prävention. |
Detaillierte Dokumentation
addMetaTag(name, content)
Fügt der Seite ein Meta-Tag hinzu. Meta-Tags, die direkt in eine Apps Script-HTML-Datei eingefügt werden, werden ignoriert. Nur die folgenden Meta-Tags sind zulässig:
<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');
Parameter
Name | Typ | Beschreibung |
---|---|---|
name | String | Der Wert des Namensattributs des Meta-Tags. |
content | String | Der Wert des Inhaltsattributs des Meta-Tags. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
append(addedContent)
Hängt neuen Inhalt an den Inhalt von HtmlOutput
an. Verwenden Sie diese Option nur für Inhalte aus einem
vertrauenswürdigen Quelle, da sie nicht mit einem Escapezeichen versehen ist.
// 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());
Parameter
Name | Typ | Beschreibung |
---|---|---|
addedContent | String | Der Inhalt, der angefügt werden soll. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
Löst aus
Error
, wenn der HTML-Code fehlerhaft ist
Weitere Informationen
appendUntrusted(addedContent)
Hängt mithilfe von kontextbezogenem Escaping neuen Content an den Inhalt von HtmlOutput
an.
Diese Methode maskiert Inhalte auf Grundlage des aktuellen Status von HtmlOutput
korrekt.
damit das Ergebnis ein sicherer String ohne Markup oder Nebenwirkungen ist. Verwenden Sie diese anstelle von
Fügen Sie Inhalte aus einer nicht vertrauenswürdigen Quelle, z. B. von einem Nutzer, hinzu, um zu vermeiden,
Sie haben versehentlich XSS-Fehler (Cross-Site-Scripting) zugelassen, bei dem Inhalte oder Markups
führt zu einer unerwarteten Codeausführung.
// 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());
Parameter
Name | Typ | Beschreibung |
---|---|---|
addedContent | String | Der Inhalt, der angefügt werden soll. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
Löst aus
Error
, wenn der HTML-Code sehr fehlerhaft ist
Weitere Informationen
asTemplate()
Gibt ein HtmlTemplate
zurück, das durch diesen HtmlOutput
gestützt wird. Diese Methode kann verwendet werden, um
um eine Vorlage inkrementell zu erstellen. Zukünftige Änderungen an HtmlOutput
wirken sich auf den Inhalt von
die HtmlTemplate
ebenfalls.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Rückflug
HtmlTemplate
– Das neue HtmlTemplate
.
clear()
Löscht den aktuellen Inhalt.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
getAs(contentType)
Gibt die Daten in diesem Objekt als Blob zurück, das in den angegebenen Inhaltstyp konvertiert wurde. Dieses fügt dem Dateinamen die entsprechende Erweiterung hinzu, beispielsweise "meinedatei.pdf". Allerdings geht davon aus, dass der Teil des Dateinamens, der auf den letzten Punkt folgt (falls vorhanden), ein vorhandener die ersetzt werden soll. Daher lautet „Einkaufsliste.12.25.2014“. wird zu „Einkaufsliste.12.25.pdf“.
Die Tageskontingente für Conversions finden Sie unter Kontingente für Google Dienste. Neu erstellte Google Workspace-Domains unterliegen möglicherweise vorübergehend strengeren Richtlinien. Kontingenten.
Parameter
Name | Typ | Beschreibung |
---|---|---|
contentType | String | Der MIME-Typ, in den konvertiert werden soll. Für die meisten Blobs ist 'application/pdf'
ist die einzige gültige Option. Für Bilder im BMP-, GIF-, JPEG- oder PNG-Format gilt auch Folgendes: 'image/bmp' , 'image/gif' , 'image/jpeg' oder 'image/png'
gültig sein. Bei einem Google Docs-Dokument ist 'text/markdown' ebenfalls gültig. |
Rückflug
Blob
: Die Daten als Blob.
getBlob()
getContent()
Ruft den Inhalt von HtmlOutput
ab.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Rückflug
String
: Der bereitgestellte Inhalt.
getFaviconUrl()
Ruft die URL für ein Favicon-Link-Tag ab, das der Seite durch Aufrufen von setFaviconUrl(iconUrl)
hinzugefügt wurde. Favicon-Link-Tags, die direkt in eine Apps Script-HTML-Datei eingefügt werden, sind
ignoriert.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Rückflug
String
: Die URL des Favicon-Bilds.
getHeight()
Ruft die anfängliche Höhe des benutzerdefinierten Dialogfelds in Google ab
Google Docs, Google Tabellen oder Google Formulare. Wenn die HtmlOutput
stattdessen als Web-App veröffentlicht wird,
gibt null
zurück. Zum Anpassen der Größe eines Dialogfelds, das bereits geöffnet ist, rufen Sie auf.
google.script.host.setHeight(height)
im clientseitigen Code.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Rückflug
Integer
: Die Höhe in Pixeln.
getMetaTags()
Ruft ein Array mit Objekten ab, die Meta-Tags darstellen, die durch Aufrufen von addMetaTag(name, content)
zur Seite hinzugefügt wurden. Meta-Tags, die direkt in eine Apps Script-HTML-Datei eingefügt werden, werden
ignoriert.
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());
Rückflug
HtmlOutputMetaTag[]
: Ein Array von Objekten, die Meta-Tags darstellen, die durch Aufrufen von addMetaTag(name, content)
in die Seite eingefügt wurden.
getTitle()
Ruft den Titel der Ausgabeseite ab. Beachten Sie, dass der <title> Das HTML-Element wird ignoriert.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Rückflug
String
: Der Titel der Seite.
getWidth()
Ruft die anfängliche Breite des benutzerdefinierten Dialogfelds in Google ab.
Google Docs, Google Tabellen oder Google Formulare. Wenn die HtmlOutput
stattdessen als Web-App veröffentlicht wird,
gibt null
zurück. Zum Anpassen der Größe eines Dialogfelds, das bereits geöffnet ist, rufen Sie auf.
google.script.host.setWidth(width)
im clientseitigen Code.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Rückflug
Integer
: Die Breite in Pixeln.
setContent(content)
Legt den Inhalt von HtmlOutput
fest.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parameter
Name | Typ | Beschreibung |
---|---|---|
content | String | Der Inhalt, der bereitgestellt werden soll. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
Löst aus
Error
, wenn der HTML-Code fehlerhaft ist
setFaviconUrl(iconUrl)
Fügt der Seite ein Link-Tag für ein Favicon hinzu. Favicon-Link-Tags werden direkt in eine App eingefügt. Script-HTML-Datei wird ignoriert.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parameter
Name | Typ | Beschreibung |
---|---|---|
iconUrl | String | Die URL des Favicon-Bilds, wobei die Bilderweiterung das Bild angibt Typ. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
setHeight(height)
Legt die anfängliche Höhe des benutzerdefinierten Dialogfelds in Google fest
Google Docs, Google Tabellen oder Google Formulare. Wenn die HtmlOutput
stattdessen als Web-App veröffentlicht wird,
hat keine Auswirkungen. Zum Anpassen der Größe eines Dialogfelds, das bereits geöffnet ist, rufen Sie auf.
google.script.host.setHeight(height)
im clientseitigen Code.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Parameter
Name | Typ | Beschreibung |
---|---|---|
height | Integer | Die neue Höhe in Pixeln null führt zu einem Standardwert. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
setSandboxMode(mode)
Diese Methode hat jetzt keine Auswirkungen. Zuvor wurde das sandbox
mode
festgelegt, das für clientseitige Skripts verwendet wurde. Um Nutzer vor schädlichem HTML-Code oder
JavaScript-Code, clientseitiger Code aus dem HTML-Dienst, wird in einer Sicherheits-Sandbox ausgeführt,
legt Einschränkungen für den Code fest. Ursprünglich ließ sich mit dieser Methode
zwischen verschiedenen Versionen der Sandbox zu wechseln, aber jetzt verwenden alle Skripts jetzt den IFRAME
-Modus
unabhängig davon,
welchen Sandbox-Modus festgelegt ist. Weitere Informationen finden Sie im Leitfaden zu Einschränkungen beim HTML-Dienst.
Der IFRAME
-Modus hat viel weniger Einschränkungen als die anderen Sandbox-Modi und
wird am schnellsten ausgeführt, funktioniert jedoch bei bestimmten älteren Browsern, einschließlich Internet Explorer, überhaupt nicht.
9. Der Sandbox-Modus kann durch Prüfen von google.script.sandbox.mode
in einem clientseitigen Script gelesen werden. Dieses Attribut gibt den tatsächlichen Modus
auf dem Client zurück.
Er kann sich von dem vom Server angeforderten Modus unterscheiden, wenn er nicht unterstützt wird.
im Browser des Nutzers.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Parameter
Name | Typ | Beschreibung |
---|---|---|
mode | SandboxMode | Der zu verwendende Sandbox-Modus. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
setTitle(title)
Legt den Titel der Ausgabeseite fest. Bei Web-Apps ist dies der Titel der gesamten Seite, während
Für HtmlOutput
in Google Tabellen ist dies der Titel des Dialogfelds.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parameter
Name | Typ | Beschreibung |
---|---|---|
title | String | Der neue Titel. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
setWidth(width)
Legt die anfängliche Breite eines benutzerdefinierten Dialogfelds in Google fest
Google Docs, Google Tabellen oder Google Formulare. Wenn die HtmlOutput
stattdessen als Web-App veröffentlicht wird,
hat keine Auswirkungen. Zum Anpassen der Größe eines Dialogfelds, das bereits geöffnet ist, rufen Sie auf.
google.script.host.setWidth(width)
im clientseitigen Code.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Parameter
Name | Typ | Beschreibung |
---|---|---|
width | Integer | Die neue Breite in Pixeln. null führt zu einem Standardwert. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.
setXFrameOptionsMode(mode)
Legt den Status des X-Frame-Options
-Headers der Seite fest, der das Clickjacking steuert
Prävention.
Wenn XFrameOptionsMode.ALLOWALL
festgelegt ist, kann die Seite von jeder Website in einem iFrame gehostet werden, sodass das
Entwickler sollten eigene Schutzvorkehrungen gegen Clickjacking implementieren.
Wenn ein Skript keinen X-Frame-Options
-Modus festlegt, verwendet Apps Script den XFrameOptionsMode.DEFAULT
-Modus als Standard.
// 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);
Parameter
Name | Typ | Beschreibung |
---|---|---|
mode | XFrameOptionsMode | Der festzulegende Modus für XFrame-Optionen. |
Rückflug
HtmlOutput
: Diese Ausgabe zur Verkettung.