Class HtmlOutput

HtmlOutput

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>');
}
Der Code in der 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

MethodeRückgabetypKurzbeschreibung
addMetaTag(name, content)HtmlOutputFügt der Seite ein Meta-Tag hinzu.
append(addedContent)HtmlOutputHängt neuen Inhalt an den Inhalt von HtmlOutput an.
appendUntrusted(addedContent)HtmlOutputHängt mithilfe von kontextbezogenem Escaping neuen Content an den Inhalt von HtmlOutput an.
asTemplate()HtmlTemplateGibt ein HtmlTemplate zurück, das durch diesen HtmlOutput gestützt wird.
clear()HtmlOutputLöscht den aktuellen Inhalt.
getAs(contentType)BlobGibt die Daten in diesem Objekt als Blob zurück, das in den angegebenen Inhaltstyp konvertiert wurde.
getBlob()BlobGibt die Daten in diesem Objekt als Blob zurück.
getContent()StringRuft den Inhalt von HtmlOutput ab.
getFaviconUrl()StringRuft die URL für ein Favicon-Link-Tag ab, das der Seite durch Aufrufen von setFaviconUrl(iconUrl) hinzugefügt wurde.
getHeight()IntegerRuft 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()StringRuft den Titel der Ausgabeseite ab.
getWidth()IntegerRuft die anfängliche Breite des benutzerdefinierten Dialogfelds in Google ab. Google Docs, Google Tabellen oder Google Formulare.
setContent(content)HtmlOutputLegt den Inhalt von HtmlOutput fest.
setFaviconUrl(iconUrl)HtmlOutputFügt der Seite ein Link-Tag für ein Favicon hinzu.
setHeight(height)HtmlOutputLegt die anfängliche Höhe des benutzerdefinierten Dialogfelds in Google fest Google Docs, Google Tabellen oder Google Formulare.
setSandboxMode(mode)HtmlOutputDiese Methode hat jetzt keine Auswirkungen. Zuvor wurde das sandbox mode festgelegt, das für clientseitige Skripts verwendet wurde.
setTitle(title)HtmlOutputLegt den Titel der Ausgabeseite fest.
setWidth(width)HtmlOutputLegt die anfängliche Breite eines benutzerdefinierten Dialogfelds in Google fest Google Docs, Google Tabellen oder Google Formulare.
setXFrameOptionsMode(mode)HtmlOutputLegt 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

NameTypBeschreibung
nameStringDer Wert des Namensattributs des Meta-Tags.
contentStringDer 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

NameTypBeschreibung
addedContentStringDer 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>&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());

Parameter

NameTypBeschreibung
addedContentStringDer 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

NameTypBeschreibung
contentTypeStringDer 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()

Gibt die Daten in diesem Objekt als Blob zurück.

Rückflug

Blob: Die Daten als Blob.


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

NameTypBeschreibung
contentStringDer 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

NameTypBeschreibung
iconUrlStringDie 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

NameTypBeschreibung
heightIntegerDie 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

NameTypBeschreibung
modeSandboxModeDer 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

NameTypBeschreibung
titleStringDer 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

NameTypBeschreibung
widthIntegerDie 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

NameTypBeschreibung
modeXFrameOptionsModeDer festzulegende Modus für XFrame-Optionen.

Rückflug

HtmlOutput: Diese Ausgabe zur Verkettung.