Class HtmlOutput

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Plik wyjściowy HTML

Obiekt HtmlOutput, który można wyświetlać za pomocą skryptu. Ze względów bezpieczeństwa skrypty nie mogą bezpośrednio zwracać kodu HTML do przeglądarki. Zamiast tego należy go oczyścić, aby nie mógł wykonywać złośliwych działań. Zweryfikowany kod HTML możesz zwrócić w ten sposób:

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
Kod w HtmlOutput może zawierać osadzony kod JavaScript i CSS. (to jest standardowy kod JavaScript po stronie klienta, który modyfikuje DOM, a nie Apps Script). Cała ta treść jest wyświetlana w trybie piaskownicy przy użyciu piaskownicy iframe. Więcej informacji znajdziesz w przewodniku po ograniczeniach dotyczących usługi HTML.

Metody

MetodaZwracany typKrótki opis
addMetaTag(name, content)HtmlOutputDodaje metatag do strony.
append(addedContent)HtmlOutputDołącza nową treść do sekcji HtmlOutput.
appendUntrusted(addedContent)HtmlOutputDodaje nową treść do elementu HtmlOutput, stosując zmianę znaczenia.
asTemplate()HtmlTemplateZwraca obiekt HtmlTemplate obsługiwany przez zasadę HtmlOutput.
clear()HtmlOutputCzyści bieżącą zawartość.
getAs(contentType)BlobZwraca dane wewnątrz tego obiektu jako obiekt blob przekonwertowany na określony typ treści.
getBlob()BlobZwraca dane wewnątrz tego obiektu jako blob.
getContent()StringPobiera zawartość HtmlOutput.
getFaviconUrl()StringPobiera adres URL favikony dodanej do strony przez wywołanie setFaviconUrl(iconUrl).
getHeight()IntegerPoczątkowa wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google.
getMetaTags()HtmlOutputMetaTag[]Pobiera tablicę obiektów reprezentujących metatagi dodane do strony przez wywołanie addMetaTag(name, content).
getTitle()StringPobiera tytuł strony wyjściowej.
getWidth()IntegerPoczątkowa szerokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google.
setContent(content)HtmlOutputUstawia treść elementu HtmlOutput.
setFaviconUrl(iconUrl)HtmlOutputDodaje do strony tag linku do favikony.
setHeight(height)HtmlOutputOkreśla początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google.
setSandboxMode(mode)HtmlOutputTa metoda nie ma już skutków – wcześniej ustawiona była zasada sandbox mode używana w skryptach po stronie klienta.
setTitle(title)HtmlOutputUstawia tytuł strony wyjściowej.
setWidth(width)HtmlOutputOkreśla początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google.
setXFrameOptionsMode(mode)HtmlOutputUstawia stan nagłówka X-Frame-Options na stronie, który zapobiega zapobieganiem przejęciom kliknięć.

Szczegółowa dokumentacja

addMetaTag(name, content)

Dodaje metatag do strony. Metatagi umieszczone bezpośrednio w pliku HTML Apps Script są ignorowane. Dozwolone są tylko te metatagi:

<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');

Parametry

NazwaTypOpis
nameStringWartość atrybutu meta tagu.
contentStringWartość atrybutu content metatagu.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.


append(addedContent)

Dołącza nową treść do sekcji HtmlOutput. Używaj go tylko w przypadku treści z zaufanego źródła, ponieważ nie ma on znaczenia.

// 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());

Parametry

NazwaTypOpis
addedContentStringTreść do dołączenia.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.

Narzuty

Error – nieprawidłowy kod HTML

Zobacz też


appendUntrusted(addedContent)

Dodaje nową treść do elementu HtmlOutput, stosując zmianę znaczenia.

Ta metoda prawidłowo zmienia znaczenie treści w zależności od bieżącego stanu właściwości HtmlOutput, dzięki czemu wynik to bezpieczny ciąg znaków bez żadnych znaczników ani dodatkowych elementów strony. Używaj tej metody zamiast korzystać z dołączania za każdym razem, gdy dodajesz treści z niezaufanego źródła, np. od użytkownika, aby uniknąć przypadkowego uruchomienia błędu cross-site scripting (XSS), który wiąże się z nieoczekiwanym wykonaniem kodu.

// 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());

Parametry

NazwaTypOpis
addedContentStringTreść do dołączenia.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.

Narzuty

Error – kod HTML jest bardzo nieprawidłowo sformatowany.

Zobacz też


asTemplate()

Zwraca obiekt HtmlTemplate obsługiwany przez zasadę HtmlOutput. Ta metoda może służyć do stopniowego tworzenia szablonu. Przyszłe zmiany w HtmlOutput będą miały wpływ na zawartość HtmlTemplate.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
var template = output.asTemplate();

Zwróć

HtmlTemplate – nowa HtmlTemplate.


clear()

Czyści bieżącą zawartość.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.clear();

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.


getAs(contentType)

Zwraca dane wewnątrz tego obiektu jako obiekt blob przekonwertowany na określony typ treści. Ta metoda dodaje odpowiednie rozszerzenie do nazwy pliku, np. „"myfile.pdf&quot”. Zakładamy jednak, że część nazwy pliku po ostatnim okresie (jeśli w ogóle) jest rozszerzeniem, które należy zastąpić. W związku z tym "ShoppingList.12.25.2014" zmienia się w "ShoppingList.12.25.pdf".

Aby sprawdzić dzienne limity konwersji, zobacz Limity usług Google. Nowo utworzone domeny Google Workspace mogą podlegać tymczasowym ograniczeniom.

Parametry

NazwaTypOpis
contentTypeStringTyp MIME, na który ma zostać przekonwertowane. W większości blobów 'application/pdf' jest jedyną prawidłową opcją. W przypadku obrazów w formacie BMP, GIF, JPEG lub PNG prawidłowy jest też każdy z tych formatów: 'image/bmp', 'image/gif', 'image/jpeg' lub 'image/png'.

Zwróć

Blob – dane jako obiekt blob.


getBlob()

Zwraca dane wewnątrz tego obiektu jako blob.

Zwróć

Blob – dane jako obiekt blob.


getContent()

Pobiera zawartość HtmlOutput.

// Log "<b>Hello, world!</b>"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getContent());

Zwróć

String – wyświetlane treści;


getFaviconUrl()

Pobiera adres URL favikony dodanej do strony przez wywołanie setFaviconUrl(iconUrl). Tagi favikony umieszczone bezpośrednio w pliku HTML Apps Script są ignorowane.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl();

Zwróć

String – adres URL obrazu favikony.


getHeight()

Początkowa wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput został opublikowany jako aplikacja internetowa, ta metoda zwraca null. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod google.script.host.setHeight(height) w kodzie po stronie klienta.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);
Logger.log(output.getHeight());

Zwróć

Integer – wysokość w pikselach,


getMetaTags()

Pobiera tablicę obiektów reprezentujących metatagi dodane do strony przez wywołanie addMetaTag(name, content). Metatagi umieszczone bezpośrednio w pliku HTML Apps Script są ignorowane.

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());

Zwróć

HtmlOutputMetaTag[] – tablica obiektów reprezentujących metatagi dodane do strony przez wywołanie addMetaTag(name, content).


getTitle()

Pobiera tytuł strony wyjściowej. Element <title> HTML jest ignorowany.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getTitle());

Zwróć

String – tytuł strony;


getWidth()

Początkowa szerokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput został opublikowany jako aplikacja internetowa, ta metoda zwraca null. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod google.script.host.setWidth(width) w kodzie po stronie klienta.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);
Logger.log(output.getWidth());

Zwróć

Integer – szerokość w pikselach;


setContent(content)

Ustawia treść elementu HtmlOutput.

var output = HtmlService.createHtmlOutput();
output.setContent('<b>Hello, world!</b>');

Parametry

NazwaTypOpis
contentStringTreść, która ma zostać wyświetlona.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.

Narzuty

Error – nieprawidłowy kod HTML


setFaviconUrl(iconUrl)

Dodaje do strony tag linku do favikony. Tagi favikony umieszczone bezpośrednio w pliku HTML Apps Script są ignorowane.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');

Parametry

NazwaTypOpis
iconUrlStringAdres URL obrazu favikony z rozszerzeniem graficznym wskazującym jego typ.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.


setHeight(height)

Określa początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli zamiast tego HtmlOutput została opublikowana jako aplikacja internetowa, ta metoda nie przyniesie efektu. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod google.script.host.setHeight(height) w kodzie po stronie klienta.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);

Parametry

NazwaTypOpis
heightIntegerNowa wysokość w pikselach. null to wartość domyślna.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.


setSandboxMode(mode)

Ta metoda nie ma już skutków – wcześniej ustawiona była zasada sandbox mode używana w skryptach po stronie klienta. Aby chronić użytkowników przed złośliwym kodem HTML lub JavaScript, kod po stronie klienta wyświetlany z usługi HTML jest uruchamiany w bezpiecznej piaskownicy, która nakłada ograniczenia na kod. Wcześniej ta metoda pozwalała autorom skryptów wybierać różne wersje piaskownicy, ale teraz wszystkie skrypty korzystają z trybu IFRAME niezależnie od ustawionego trybu piaskownicy. Więcej informacji znajdziesz w przewodniku po ograniczeniach dotyczących usługi HTML.

Tryb IFRAME narzuca znacznie mniej ograniczeń niż pozostałe tryby piaskownicy i działa szybciej, ale nie działa w niektórych starszych przeglądarkach, w tym Internet Explorera 9. Tryb piaskownicy można odczytać w skrypcie po stronie klienta, sprawdzając element google.script.sandbox.mode. Właściwość ta zwraca w kliencie rzeczywisty tryb, który może się różnić od trybu żądanego na serwerze, jeśli żądany tryb nie jest obsługiwany w przeglądarce użytkownika.

<!-- Read the sandbox mode (in a client-side script). -->
<script>
  alert(google.script.sandbox.mode);
</script>

Parametry

NazwaTypOpis
modeSandboxModeTryb piaskownicy, którego chcesz użyć.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.


setTitle(title)

Ustawia tytuł strony wyjściowej. W przypadku aplikacji internetowych jest to tytuł całej strony, a w przypadku HtmlOutput – wyświetlany w Arkuszach Google.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setTitle('My First Page');

Parametry

NazwaTypOpis
titleStringNowy tytuł.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.


setWidth(width)

Określa początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google. Jeśli zamiast tego HtmlOutput została opublikowana jako aplikacja internetowa, ta metoda nie przyniesie efektu. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod google.script.host.setWidth(width) w kodzie po stronie klienta.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);

Parametry

NazwaTypOpis
widthIntegerNowa szerokość w pikselach. null to wartość domyślna.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.


setXFrameOptionsMode(mode)

Ustawia stan nagłówka X-Frame-Options na stronie, który zapobiega zapobieganiem przejęciom kliknięć.

Ustawienie XFrameOptionsMode.ALLOWALL pozwala każdej stronie iframe na działanie strony, więc deweloper powinien zastosować własne zabezpieczenie przed takimi atakami.

Jeśli skrypt nie ustawia trybu X-Frame-Options, Apps Script korzysta domyślnie z trybu XFrameOptionsMode.DEFAULT.

// 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);

Parametry

NazwaTypOpis
modeXFrameOptionsModeTryb XFrame opcji do ustawienia.

Zwróć

HtmlOutput – te dane wyjściowe do łańcucha.