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'); }
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
| Metoda | Zwracany typ | Krótki opis |
|---|---|---|
add | Html | Dodaje metatag do strony. |
append(addedContent) | Html | Dołącza nowe treści do treści tego elementu Html. |
append | Html | Dołącza nowe treści do treści tego elementu Html, używając ucieczki kontekstowej. |
as | Html | Zwraca wartość Html obsługiwaną przez ten obiekt Html. |
clear() | Html | Usuwa bieżącą zawartość. |
get | Blob | Zwraca dane w tym obiekcie jako obiekt blob przekonwertowany na określony typ treści. |
get | Blob | Zwraca dane w tym obiekcie jako obiekt blob. |
get | String | Pobiera zawartość tego elementu Html. |
get | String | Pobiera adres URL tagu linku do favikony dodanego do strony przez wywołanie funkcji set. |
get | Integer | Pobiera początkową wysokość niestandardowego okna dialogowego w Dokumentach, Arkuszach lub Formularzach Google. |
get | Html | Pobiera tablicę obiektów reprezentujących metatagi dodane do strony przez wywołanie funkcji add. |
get | String | Pobiera tytuł strony wyjściowej. |
get | Integer | Pobiera początkową szerokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
set | Html | Ustawia zawartość tego elementu Html. |
set | Html | Dodaje do strony tag linku do ikony. |
set | Html | Ustawia początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
set | Html | Ta metoda nie ma już żadnego wpływu – wcześniej ustawiała wartość sandbox
mode używaną w skryptach po stronie klienta. |
set | Html | Ustawia tytuł strony wyjściowej. |
set | Html | Ustawia początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google. |
set | Html | Okreś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
| Nazwa | Typ | Opis |
|---|---|---|
name | String | Wartość atrybutu name tagu meta. |
content | String | Wartość 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
| Nazwa | Typ | Opis |
|---|---|---|
added | String | Treść 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.</pgt;" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); output<.>appendUntrusted(<9;>pHello again, world./p'); Logger.log(output.getContent());
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
added | String | Treść 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
| Nazwa | Typ | Opis |
|---|---|---|
content | String | Typ 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()
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
| Nazwa | Typ | Opis |
|---|---|---|
content | String | Treś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
| Nazwa | Typ | Opis |
|---|---|---|
icon | String | Adres 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
| Nazwa | Typ | Opis |
|---|---|---|
height | Integer | Nowa 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
| Nazwa | Typ | Opis |
|---|---|---|
mode | Sandbox | Tryb 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
| Nazwa | Typ | Opis |
|---|---|---|
title | String | Nowy 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
| Nazwa | Typ | Opis |
|---|---|---|
width | Integer | Nowa 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
| Nazwa | Typ | Opis |
|---|---|---|
mode | XFrameOptionsMode | Tryb opcji XFrame do ustawienia. |
Powrót
HtmlOutput – te dane wyjściowe służą do łączenia.