Class HtmlOutput

HtmlOutput

Obiekt HtmlOutput, który może być wyświetlany za pomocą skryptu. Ze względów bezpieczeństwa skrypty nie mogą bezpośrednio zwracać kodu HTML do przeglądarki. Muszą natomiast go dezynfekować, aby nie były w stanie wykonywać złośliwych działań. Możesz zwrócić przetworzony kod HTML w ten sposób:

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

Metody

MetodaZwracany typKrótki opis
addMetaTag(name, content)HtmlOutputDodaje metatag do strony.
append(addedContent)HtmlOutputDodaje nowe treści do zawartości: HtmlOutput.
appendUntrusted(addedContent)HtmlOutputDodaje nowe treści do treści tego elementu (HtmlOutput) przy użyciu kontekstowych zmian znaczenia.
asTemplate()HtmlTemplateZwraca wartość HtmlTemplate opartą na tej wartości HtmlOutput.
clear()HtmlOutputUsuwa bieżącą zawartość.
getAs(contentType)BlobZwraca dane wewnątrz tego obiektu jako obiekt blob przekonwertowany na określony typ treści.
getBlob()BlobZwracaj dane wewnątrz tego obiektu jako obiekt blob.
getContent()StringPobiera zawartość tego urządzenia HtmlOutput.
getFaviconUrl()StringPobiera adres URL tagu linku favikony dodanego do strony przez wywołanie setFaviconUrl(iconUrl).
getHeight()IntegerPobiera początkową wysokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google.
getMetaTags()HtmlOutputMetaTag[]Pobiera tablicę obiektów, które reprezentują metatagi dodane do strony przez wywołanie addMetaTag(name, content).
getTitle()StringPobiera tytuł strony wyjściowej.
getWidth()IntegerPobiera początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google.
setContent(content)HtmlOutputUstawia treść: HtmlOutput.
setFaviconUrl(iconUrl)HtmlOutputDodaje do strony tag linku favikony.
setHeight(height)HtmlOutputUstawia początkową wysokość niestandardowego okna w Dokumentach, Arkuszach i Formularzach Google.
setSandboxMode(mode)HtmlOutputTa metoda nie działa już – wcześniej ustawiała ustawienie sandbox mode używane na potrzeby skryptów 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 strony, który kontroluje zapobieganie przechwytywaniu 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 „name” tagu meta.
contentStringWartość atrybutu content tagu meta.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.


append(addedContent)

Dodaje nowe treści do zawartości: HtmlOutput. Używaj go tylko w przypadku treści z zaufanego źródła, ponieważ nie jest on zakodowany.

// 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.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.

Rzuty

Error – jeśli kod HTML jest nieprawidłowy.

Zobacz też


appendUntrusted(addedContent)

Dodaje nowe treści do treści tego elementu (HtmlOutput) przy użyciu kontekstowych zmian znaczenia.

Ta metoda prawidłowo zmienia znaczenie treści na podstawie bieżącego stanu obiektu HtmlOutput, dzięki czemu wynik jest bezpiecznym ciągiem znaków bez znaczników i elementów dodatkowych. Nie używaj tego atrybutu za każdym razem, gdy dodajesz treści z niezaufanego źródła, np. pochodzącego od użytkownika. Pozwoli to uniknąć przypadkowego wystąpienia błędu XSS (XSS), który polega na tym, że dołączone treści lub znaczniki powodują nieoczekiwane wykonanie 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.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.

Rzuty

Error – jeśli kod HTML jest bardzo nieprawidłowy

Zobacz też


asTemplate()

Zwraca wartość HtmlTemplate opartą na tej wartości HtmlOutput. Tej metody można używać do stopniowego tworzenia szablonu. Przyszłe zmiany w zasadzie HtmlOutput będą też miały wpływ na zawartość HtmlTemplate.

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

Powroty

HtmlTemplate – nowy HtmlTemplate.


clear()

Usuwa bieżącą zawartość.

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

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.


getAs(contentType)

Zwraca dane wewnątrz tego obiektu jako obiekt blob przekonwertowany na określony typ treści. Ta metoda dodaje do nazwy pliku odpowiednie rozszerzenie, na przykład „mójplik.pdf”. Zakładamy jednak, że część nazwy pliku, która występuje po ostatniej kropce (jeśli występuje), jest istniejącym rozszerzeniem, które należy zastąpić. W związku z tym „Lista zakupów.12.25.2014” zmieni się na „Lista zakupów.12.25.pdf”.

Aby sprawdzić dzienne limity konwersji, przeczytaj artykuł Limity w usługach Google. Nowo utworzone domeny Google Workspace mogą tymczasowo podlegać bardziej rygorystycznym limitom.

Parametry

NazwaTypOpis
contentTypeStringTyp MIME, na który ma zostać przekonwertowany. W przypadku większości obiektów blob jedyną prawidłową opcją jest 'application/pdf'. W przypadku zdjęć w formacie BMP, GIF, JPEG lub PNG obowiązują dowolne z tych wartości: 'image/bmp', 'image/gif', 'image/jpeg' i 'image/png'.

Powroty

Blob – dane w postaci obiektu blob.


getBlob()

Zwracaj dane wewnątrz tego obiektu jako obiekt blob.

Powroty

Blob – dane w postaci obiektu blob.


getContent()

Pobiera zawartość tego urządzenia HtmlOutput.

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

Powroty

String – treść, która jest wyświetlana.


getFaviconUrl()

Pobiera adres URL tagu linku favikony dodanego do strony przez wywołanie setFaviconUrl(iconUrl). Tagi linku 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());

Powroty

String – adres URL obrazu favikony.


getHeight()

Pobiera początkową wysokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google. Jeśli zamiast tego HtmlOutput została opublikowana jako aplikacja internetowa, ta metoda zwraca null. Aby zmienić rozmiar okna, które jest już otwarte, wywołaj 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());

Powroty

Integer – wysokość w pikselach.


getMetaTags()

Pobiera tablicę obiektów, które reprezentują 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());

Powroty

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


getTitle()

Pobiera tytuł strony wyjściowej. Pamiętaj, że element HTML <title> jest ignorowany.

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

Powroty

String – tytuł strony.


getWidth()

Pobiera początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google. Jeśli zamiast tego HtmlOutput została opublikowana jako aplikacja internetowa, ta metoda zwraca null. Aby zmienić rozmiar okna, które jest już otwarte, wywołaj 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());

Powroty

Integer – szerokość w pikselach.


setContent(content)

Ustawia treść: HtmlOutput.

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

Parametry

NazwaTypOpis
contentStringTreść do wyświetlenia.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.

Rzuty

Error – jeśli kod HTML jest nieprawidłowy.


setFaviconUrl(iconUrl)

Dodaje do strony tag linku favikony. Tagi link 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, gdzie rozszerzenie graficzne wskazuje typ obrazu.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.


setHeight(height)

Ustawia początkową wysokość niestandardowego okna w Dokumentach, Arkuszach i Formularzach Google. Jeśli zamiast tego HtmlOutput została opublikowana jako aplikacja internetowa, ta metoda nie przyniesie żadnego efektu. Aby zmienić rozmiar okna, które jest już otwarte, wywołaj 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 daje wartość domyślną.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.


setSandboxMode(mode)

Ta metoda nie działa już – wcześniej ustawiała ustawienie sandbox mode używane na potrzeby skryptów po stronie klienta. Aby chronić użytkowników przed wyświetlaniem złośliwego kodu HTML lub JavaScript, kod udostępniany po stronie klienta z usługi HTML jest uruchamiany w bezpiecznej piaskownicy, która nakłada ograniczenia na kod. Początkowo ta metoda umożliwiała autorom skryptów wybór między różnymi wersjami piaskownicy. Teraz wszystkie skrypty korzystają z trybu IFRAME niezależnie od ustawionego trybu piaskownicy. Więcej informacji znajdziesz w przewodniku po ograniczeniach w usłudze HTML.

Tryb IFRAME nakłada znacznie mniej ograniczeń niż inne tryby piaskownicy i działa najszybciej, ale nie działa w niektórych starszych przeglądarkach, w tym w Internet Explorerze 9. Tryb piaskownicy można odczytać w skrypcie po stronie klienta, sprawdzając google.script.sandbox.mode. Pamiętaj, że ta właściwość zwraca rzeczywisty tryb klienta, który może się różnić od trybu żądanego na serwerze, jeśli żądany tryb nie jest obsługiwany przez przeglądarkę 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ć.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.


setTitle(title)

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

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

Parametry

NazwaTypOpis
titleStringNowy tytuł.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.


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 żadnego efektu. Aby zmienić rozmiar okna, które jest już otwarte, wywołaj 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 daje wartość domyślną.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.


setXFrameOptionsMode(mode)

Ustawia stan nagłówka X-Frame-Options strony, który kontroluje zapobieganie przechwytywaniu kliknięć.

Jeśli skonfigurujesz XFrameOptionsMode.ALLOWALL, każda witryna może umieszczać element iframe na stronie, więc deweloper powinien wdrożyć własne zabezpieczenia przed przechwytywaniem kliknięć.

Jeśli skrypt nie ustawia trybu X-Frame-Options, Apps Script używa domyślnie 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 opcji XFrame do ustawienia.

Powroty

HtmlOutput – te dane wyjściowe na potrzeby łańcuchów.