Class HtmlOutput

HtmlOutput

Obiekt HtmlOutput, który może być wyświetlany ze skryptu. Ze względów bezpieczeństwa skrypty nie mogą bezpośrednio zwracać kodu HTML do przeglądarki. Zamiast tego musi je oczyścić, aby nie mogło wykonywać szkodliwych działań. Możesz zwrócić oczyszczony kod HTML w ten sposób:

function doGet() {
  return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
}
Kod w HtmlOutput może zawierać osadzony JavaScript i CSS. (Jest to standardowy JavaScript po stronie klienta, który manipuluje DOM, a nie Apps Script). Cała ta zawartość jest umieszczana w 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)HtmlOutputDołącza nowe treści do treści tego elementu HtmlOutput.
appendUntrusted(addedContent)HtmlOutputDołącza nowe treści do treści tego elementu HtmlOutput, używając ucieczki kontekstowej.
asTemplate()HtmlTemplateZwraca wartość HtmlTemplate obsługiwaną przez ten obiekt HtmlOutput.
clear()HtmlOutputUsuwa bieżącą zawartość.
getAs(contentType)BlobZwraca dane w tym obiekcie jako obiekt blob przekonwertowany na określony typ treści.
getBlob()BlobZwraca dane w tym obiekcie jako obiekt blob.
getContent()StringPobiera zawartość tego elementu HtmlOutput.
getFaviconUrl()StringPobiera adres URL tagu linku do favikony dodanego do strony przez wywołanie funkcji setFaviconUrl(iconUrl).
getHeight()IntegerPobiera początkową wysokość niestandardowego okna dialogowego w Dokumentach, Arkuszach lub Formularzach Google.
getMetaTags()HtmlOutputMetaTag[]Pobiera tablicę obiektów reprezentujących metatagi dodane do strony przez wywołanie funkcji addMetaTag(name, content).
getTitle()StringPobiera tytuł strony wyjściowej.
getWidth()IntegerPobiera początkową szerokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google.
setContent(content)HtmlOutputUstawia zawartość tego elementu HtmlOutput.
setFaviconUrl(iconUrl)HtmlOutputDodaje do strony tag linku do ikony.
setHeight(height)HtmlOutputUstawia początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google.
setSandboxMode(mode)HtmlOutputTa metoda nie ma już żadnego wpływu – wcześniej ustawiała wartość sandbox mode używaną w skryptach po stronie klienta.
setTitle(title)HtmlOutputUstawia tytuł strony wyjściowej.
setWidth(width)HtmlOutputUstawia początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google.
setXFrameOptionsMode(mode)HtmlOutputOkreśla stan nagłówka X-Frame-Options strony, który kontroluje zapobieganie kliknięciu w celu oszustwa.

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 tagi meta:

<meta name="apple-mobile-web-app-capable" cont>e<nt="..."/
meta name="google-site-ver>i<fication" content="..."/
meta name>=<"mobile-web-app-capable" >content="..."/
meta name="viewport" content="..."/
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

Parametry

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

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.


append(addedContent)

Dołącza nowe treści do treści tego elementu HtmlOutput. Używaj tej funkcji tylko w przypadku treści z zaufanego źródła, ponieważ nie są one kodowane.

// Log &<q>uot;bHello, w<or><l>d!/bpHello again, w<or>ld./p"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'<)>;
output.append(<9;>pHello again, world./p');
Logger.log(output.getContent());

Parametry

NazwaTypOpis
addedContentStringTreść do dołączenia.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.

Rzuty

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

Zobacz też


appendUntrusted(addedContent)

Dołącza nowe treści do treści tego elementu HtmlOutput, używając ucieczki kontekstowej.

Ta metoda prawidłowo przetwarza znaki specjalne w treści na podstawie bieżącego stanu HtmlOutput, dzięki czemu wynikiem jest bezpieczny ciąg tekstowy bez znaczników ani efektów ubocznych. Używaj tej metody zamiast metody append, gdy dodajesz treści z niezaufanego źródła, np. od użytkownika, aby uniknąć przypadkowego zezwolenia na błąd cross-site scripting (XSS), w którym dodawane treści lub znaczniki powodują nieoczekiwane wykonanie kodu.

// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.&lt;/pgt;"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
output<.>appendUntrusted(<9;>pHello again, world./p');
Logger.log(output.getContent());

Parametry

NazwaTypOpis
addedContentStringTreść do dołączenia.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.

Rzuty

Error – jeśli kod HTML jest bardzo niepoprawny.

Zobacz też


asTemplate()

Zwraca wartość HtmlTemplate obsługiwaną przez ten obiekt HtmlOutput. Za pomocą tej metody można stopniowo tworzyć szablon. Przyszłe zmiany w HtmlOutput mają też wpływ na zawartość HtmlTemplate.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
const template = output.asTemplate();

Powrót

HtmlTemplate – Nowy HtmlTemplate.


clear()

Usuwa bieżącą zawartość.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.clear();

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.


getAs(contentType)

Zwraca dane w tym obiekcie jako obiekt blob przekonwertowany na określony typ treści. Ta metoda dodaje do nazwy pliku odpowiednie rozszerzenie, np. „mójplik.pdf”. Zakłada jednak, że część nazwy pliku, która następuje po ostatniej kropce (jeśli występuje), jest istniejącym rozszerzeniem, które należy zastąpić. W konsekwencji nazwa „ShoppingList.12.25.2014” zmieni się na „ShoppingList.12.25.pdf”.

Aby wyświetlić dzienne limity konwersji, zapoznaj się z artykułem Limity usług Google. Nowo utworzone domeny Google Workspace mogą być tymczasowo objęte bardziej rygorystycznymi limitami.

Parametry

NazwaTypOpis
contentTypeStringTyp MIME, na który ma zostać przekonwertowany plik. W przypadku większości obiektów blob jedyną prawidłową opcją jest 'application/pdf'. W przypadku obrazów w formacie BMP, GIF, JPEG lub PNG prawidłowe są też znaki 'image/bmp', 'image/gif', 'image/jpeg' i 'image/png'. W przypadku dokumentu Google 'text/markdown' jest również prawidłowy.

Powrót

Blob – dane w formie obiektu blob.


getBlob()

Zwraca dane w tym obiekcie jako obiekt blob.

Powrót

Blob – dane w formie obiektu blob.


getContent()

Pobiera zawartość tego elementu HtmlOutput.

// Log &<q>uot;bHello, w<or>ld!/b"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
Logger.log(output.getContent());

Powrót

String – wyświetlane treści.


getFaviconUrl()

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

Powrót

String – adres URL obrazu favikony.


getHeight()

Pobiera początkową wysokość niestandardowego okna dialogowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput jest opublikowany jako aplikacja internetowa, ta metoda zwraca null. Aby zmienić rozmiar otwartego okna, wywołaj funkcję google.script.host.setHeight(height) w kodzie po stronie klienta.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setHeight(200);
Logger.log(output.getHeight());

Powrót

Integer – wysokość w pikselach.


getMetaTags()

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

const tags = output.getMetaT<ags();
Logger.log(
    '>meta name="%s" content="%s"/',
    tags[0].getName(),
    tags[0].getContent(),
);

Powrót

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


getTitle()

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
Logger.log(output.getTitle());

Powrót

String – tytuł strony.


getWidth()

Pobiera początkową szerokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput jest opublikowany jako aplikacja internetowa, ta metoda zwraca null. Aby zmienić rozmiar otwartego okna, wywołaj funkcję google.script.host.setWidth(width) w kodzie po stronie klienta.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setWidth(200);
Logger.log(output.getWidth());

Powrót

Integer – szerokość w pikselach.


setContent(content)

Ustawia zawartość tego elementu HtmlOutput.

const output = HtmlService.createHtmlOutput();
output.setContent(&<#>39;bHello, wo<rl>d!/b');

Parametry

NazwaTypOpis
contentStringTreści do udostępnienia.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.

Rzuty

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


setFaviconUrl(iconUrl)

Dodaje do strony tag linku do ikony. Tagi linków do ikony favicon umieszczone bezpośrednio w pliku HTML Apps Script są ignorowane.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setFaviconUrl('http://www.example.com/image.png');

Parametry

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

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.


setHeight(height)

Ustawia początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput jest opublikowana jako aplikacja internetowa, ta metoda nie ma żadnego wpływu. Aby zmienić rozmiar otwartego okna, wywołaj funkcję google.script.host.setHeight(height) w kodzie po stronie klienta.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setHeight(200);

Parametry

NazwaTypOpis
heightIntegerNowa wysokość w pikselach. Wartość null powoduje ustawienie wartości domyślnej.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.


setSandboxMode(mode)

Ta metoda nie ma już żadnego wpływu – wcześniej ustawiała wartość sandbox mode używaną w skryptach po stronie klienta. Aby chronić użytkowników przed złośliwym kodem HTML lub JavaScript, kod po stronie klienta wyświetlany przez usługę HTML jest wykonywany w piaskownicy zabezpieczeń, która nakłada na niego ograniczenia. Pierwotnie ta metoda umożliwiała autorom skryptów wybór między różnymi wersjami piaskownicy, ale teraz wszystkie skrypty używają 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 w niektórych starszych przeglądarkach, w tym w Internet Explorerze 9, nie działa wcale. Tryb piaskownicy można odczytać w skrypcie po stronie klienta, sprawdzając wartość google.script.sandbox.mode. Pamiętaj, że ta właściwość zwraca rzeczywisty tryb na urządzeniu klienta, 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ć.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.


setTitle(title)

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setTitle('My First Page');

Parametry

NazwaTypOpis
titleStringNowy tytuł.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.


setWidth(width)

Ustawia początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput jest opublikowana jako aplikacja internetowa, ta metoda nie ma żadnego wpływu. Aby zmienić rozmiar otwartego okna, wywołaj funkcję google.script.host.setWidth(width) w kodzie po stronie klienta.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setWidth(200);

Parametry

NazwaTypOpis
widthIntegerNowa szerokość w pikselach. Wartość null powoduje użycie wartości domyślnej.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.


setXFrameOptionsMode(mode)

Określa stan nagłówka X-Frame-Options strony, który kontroluje zapobieganie kliknięciu w celu oszustwa.

Ustawienie XFrameOptionsMode.ALLOWALL umożliwia umieszczenie strony w ramce iframe dowolnej witryny, więc deweloper powinien wdrożyć własną ochronę przed clickjackingiem.

Jeśli skrypt nie ustawi trybu X-Frame-Options, Apps Script użyje domyślnie trybu XFrameOptionsMode.DEFAULT.

// Serve HTML with no X-Frame-Options header (in Apps Script server-side code).
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

Parametry

NazwaTypOpis
modeXFrameOptionsModeTryb opcji XFrame do ustawienia.

Powrót

HtmlOutput – te dane wyjściowe służą do łączenia.