Obiekt Html
, 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 muszą go odkażać, aby nie mógł wykonywać szkodliwych działań. Możesz zwrócić oczyszczony kod HTML w takiej postaci:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
Html Output
może zawierać osadzony kod JavaScript i CSS. (To jest standardowy kod JavaScript po stronie klienta, który manipuluje DOM, a nie Apps Script). Wszystkie te treści są umieszczane w piaskownicy za pomocą 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 | Dodaje nowe treści do treści tego Html . |
append | Html | Dodaje nowe treści do treści tego Html , używając ucieczki kontekstowej. |
as | Html | Zwraca Html , który jest obsługiwany przez tę Html . |
clear() | Html | Czyści bieżące treści. |
get | Blob | Zwraca dane z tego obiektu jako blob przekonwertowany na określony typ treści. |
get | Blob | Zwraca dane w tym obiekcie jako blob. |
get | String | Pobiera zawartość tego Html . |
get | String | Pobiera adres URL tagu linku do ikony favicon dodanego do strony przez wywołanie funkcji set . |
get | Integer | Pobiera początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
get | Html | Pobiera tablicę obiektów, które reprezentują metatagi dodane do strony przez wywołanie funkcji add . |
get | String | Pobiera tytuł strony wyjściowej. |
get | Integer | Pobiera początkową szerokość okna dialogowego niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
set | Html | Określa zawartość tego Html . |
set | Html | Dodaje tag linku do ikony favicon na stronie. |
set | Html | Określa początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
set | Html | Ta metoda nie ma teraz ż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ść okna dialogowego niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
set | Html | Ustawia stan nagłówka X-Frame-Options strony, który kontroluje zapobieganie atakom typu clickjacking. |
Szczegółowa dokumentacja
add Meta Tag(name, content)
Dodaje metatag do strony. Metatagi zawarte 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="..."/>
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Parametry
Nazwa | Typ | Opis |
---|---|---|
name | String | Wartość atrybutu nazwy metatagu. |
content | String | Wartość atrybutu content metatagu. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
append(addedContent)
Dodaje nowe treści do treści tego Html
. Używaj tego tylko w przypadku treści pochodzących z zaufanego źródła, ponieważ nie są one ujęte w znaki ucieczki.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.append('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parametry
Nazwa | Typ | Opis |
---|---|---|
added | String | Treści do dołączenia. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
Rzuty
Error
– jeśli kod HTML jest nieprawidłowy,
Zobacz też
append Untrusted(addedContent)
Dodaje nowe treści do treści tego Html
, używając ucieczki kontekstowej.
Ta metoda poprawnie koduje zawartość na podstawie bieżącego stanu Html
, dzięki czemu wynik jest bezpiecznym ciągiem tekstowym bez znaczników i efektów ubocznych. Używaj tej metody zamiast append, gdy dodajesz treści z nieznanego źródła, np. od użytkownika, aby uniknąć przypadkowego zezwolenia na błąd cross-site scripting (XSS), w którym dołączone treści lub znaczniki powodują nieoczekiwane wykonanie kodu.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parametry
Nazwa | Typ | Opis |
---|---|---|
added | String | Treści do dołączenia. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
Rzuty
Error
– jeśli kod HTML jest bardzo źle sformatowany,
Zobacz też
as Template()
Zwraca Html
, który jest obsługiwany przez tę Html
. Za pomocą tej metody możesz stopniowo tworzyć szablon. Przyszłe zmiany w Html
będą miały wpływ również na zawartość Html
.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); const template = output.asTemplate();
Powrót
Html
– nowy Html
.
clear()
Czyści bieżące treści.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
get As(contentType)
Zwraca dane z tego obiektu jako blob przekonwertowany na określony typ treści. Ta metoda dodaje odpowiednie rozszerzenie do nazwy pliku, np. „mójplik.pdf”. Zakłada ona jednak, że część nazwy pliku, która następuje po ostatnim okresie (jeśli w ogóle występuje), to istniejące rozszerzenie, które należy zastąpić. W rezultacie plik „ShoppingList.12.25.2014” staje się „ShoppingList.12.25.pdf”.
Informacje o limitach dziennych konwersji znajdziesz w artykule Limity dotyczące 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 nastąpić konwersja. W przypadku większości blobów opcja 'application/pdf' jest jedyną prawidłową opcją. W przypadku obrazów w formacie BMP, GIF, JPEG lub PNG prawidłowe są również wartości 'image/bmp' , 'image/gif' , 'image/jpeg' lub 'image/png' . W przypadku dokumentu w Dokumentach Google możesz też użyć 'text/markdown' . |
Powrót
Blob
– dane w postaci bloba.
get Blob()
get Content()
Pobiera zawartość tego Html
.
// Log "<b>Hello, world!</b>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Powrót
String
– wyświetlane treści.
get Favicon Url()
Pobiera adres URL tagu linku do ikony favicon dodanego do strony przez wywołanie funkcji set
. Tagi linków do favicon zawarte bezpośrednio w pliku HTML Apps Script są ignorowane.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Powrót
String
– adres URL obrazu favikony.
get Height()
Pobiera początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli Html
jest opublikowana jako aplikacja internetowa, ta metoda zwraca null
. Aby zmienić rozmiar otwartego już okna, wywołaj funkcję
google.script.host.setHeight(height)
w kodzie po stronie klienta.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Powrót
Integer
– wysokość w pikselach.
get Meta Tags()
Pobiera tablicę obiektów, które reprezentują metatagi dodane do strony przez wywołanie funkcji add
. Metatagi zawarte bezpośrednio w pliku HTML Apps Script są ignorowane.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); const tags = output.getMetaTags(); Logger.log( '<meta name="%s" content="%s"/>', tags[0].getName(), tags[0].getContent(), );
Powrót
Html
– tablica obiektów reprezentujących metatagi dodane do strony przez wywołanie funkcji add
.
get Title()
Pobiera tytuł strony wyjściowej. Pamiętaj, że element HTML <title> jest ignorowany.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Powrót
String
– tytuł strony.
get Width()
Pobiera początkową szerokość okna dialogowego niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli Html
jest opublikowana jako aplikacja internetowa, ta metoda zwraca null
. Aby zmienić rozmiar otwartego już okna, wywołaj funkcję
google.script.host.setWidth(width)
w kodzie po stronie klienta.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Powrót
Integer
– szerokość w pikselach.
set Content(content)
Określa zawartość tego Html
.
const output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parametry
Nazwa | Typ | Opis |
---|---|---|
content | String | Treści do wyświetlenia. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
Rzuty
Error
– jeśli kod HTML jest nieprawidłowy,
set Favicon Url(iconUrl)
Dodaje tag linku do ikony favicon na stronie. Tagi linków do favicon dołączone bezpośrednio w pliku HTML AppsScript są ignorowane.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parametry
Nazwa | Typ | Opis |
---|---|---|
icon | String | Adres URL obrazu favicon z rozszerzeniem wskazującym typ obrazu. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
set Height(height)
Określa początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli Html
jest opublikowana jako aplikacja internetowa, ta metoda nie ma żadnego wpływu. Aby zmienić rozmiar otwartego już okna, wywołaj funkcję
google.script.host.setHeight(height)
w kodzie po stronie klienta.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Parametry
Nazwa | Typ | Opis |
---|---|---|
height | Integer | Nowa wysokość w pikselach; null to wartość domyślna. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
set Sandbox Mode(mode)
Ta metoda nie ma teraz żadnego wpływu – wcześniej ustawiała wartość sandbox
mode
używaną w skryptach po stronie klienta. Aby chronić użytkowników przed wyświetlaniem złośliwego kodu HTML lub JavaScript, kod po stronie klienta obsługiwany przez usługę HTML jest wykonywany w piaskownicy bezpieczeństwa, która nakłada na niego ograniczenia. Pierwotnie ta metoda umożliwiała autorom skryptów wybór różnych wersji 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, działa najszybciej, ale nie działa w żadnych 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 na kliencie, 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
Html
– te dane wyjściowe służą do łańcuchowania.
set Title(title)
Ustawia tytuł strony wyjściowej. W przypadku aplikacji internetowych jest to tytuł całej strony, a w przypadku Html
wyświetlanego w Arkuszach Google – tytuł okna dialogowego.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parametry
Nazwa | Typ | Opis |
---|---|---|
title | String | Nowy tytuł. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
set Width(width)
Ustawia początkową szerokość okna dialogowego niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli Html
jest opublikowana jako aplikacja internetowa, ta metoda nie ma żadnego wpływu. Aby zmienić rozmiar otwartego już okna, wywołaj funkcję
google.script.host.setWidth(width)
w kodzie po stronie klienta.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Parametry
Nazwa | Typ | Opis |
---|---|---|
width | Integer | Nowa szerokość w pikselach; null powoduje użycie wartości domyślnej. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.
set XFrame Options Mode(mode)
Ustawia stan nagłówka X-Frame-Options
strony, który kontroluje zapobieganie atakom typu clickjacking.
Ustawienie XFrameOptionsMode.ALLOWALL
pozwala każdej witrynie umieścić iframe strony, dlatego deweloper powinien wdrożyć własną ochronę przed kliknięciem podszywanego.
Jeśli skrypt nie ma ustawionego 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). const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parametry
Nazwa | Typ | Opis |
---|---|---|
mode | XFrameOptionsMode | Tryb opcji XFrame do ustawienia. |
Powrót
Html
– te dane wyjściowe służą do łańcuchowania.