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
Metoda | Zwracany typ | Krótki opis |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Dodaje metatag do strony. |
append(addedContent) | HtmlOutput | Dodaje nowe treści do zawartości: HtmlOutput . |
appendUntrusted(addedContent) | HtmlOutput | Dodaje nowe treści do treści tego elementu (HtmlOutput ) przy użyciu kontekstowych zmian znaczenia. |
asTemplate() | HtmlTemplate | Zwraca wartość HtmlTemplate opartą na tej wartości HtmlOutput . |
clear() | HtmlOutput | Usuwa bieżącą zawartość. |
getAs(contentType) | Blob | Zwraca dane wewnątrz tego obiektu jako obiekt blob przekonwertowany na określony typ treści. |
getBlob() | Blob | Zwracaj dane wewnątrz tego obiektu jako obiekt blob. |
getContent() | String | Pobiera zawartość tego urządzenia HtmlOutput . |
getFaviconUrl() | String | Pobiera adres URL tagu linku favikony dodanego do strony przez wywołanie setFaviconUrl(iconUrl) . |
getHeight() | Integer | Pobiera 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() | String | Pobiera tytuł strony wyjściowej. |
getWidth() | Integer | Pobiera początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google. |
setContent(content) | HtmlOutput | Ustawia treść: HtmlOutput . |
setFaviconUrl(iconUrl) | HtmlOutput | Dodaje do strony tag linku favikony. |
setHeight(height) | HtmlOutput | Ustawia początkową wysokość niestandardowego okna w Dokumentach, Arkuszach i Formularzach Google. |
setSandboxMode(mode) | HtmlOutput | Ta metoda nie działa już – wcześniej ustawiała ustawienie sandbox
mode używane na potrzeby skryptów po stronie klienta. |
setTitle(title) | HtmlOutput | Ustawia tytuł strony wyjściowej. |
setWidth(width) | HtmlOutput | Określa początkową szerokość niestandardowego okna w Dokumentach, Arkuszach lub Formularzach Google. |
setXFrameOptionsMode(mode) | HtmlOutput | Ustawia 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
Nazwa | Typ | Opis |
---|---|---|
name | String | Wartość atrybutu „name” tagu meta. |
content | String | Wartość 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
Nazwa | Typ | Opis |
---|---|---|
addedContent | String | Treść 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><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parametry
Nazwa | Typ | Opis |
---|---|---|
addedContent | String | Treść 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
Nazwa | Typ | Opis |
---|---|---|
contentType | String | Typ 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()
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
Nazwa | Typ | Opis |
---|---|---|
content | String | Treść 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
Nazwa | Typ | Opis |
---|---|---|
iconUrl | String | Adres 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
Nazwa | Typ | Opis |
---|---|---|
height | Integer | Nowa 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
Nazwa | Typ | Opis |
---|---|---|
mode | SandboxMode | Tryb 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
Nazwa | Typ | Opis |
---|---|---|
title | String | Nowy 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
Nazwa | Typ | Opis |
---|---|---|
width | Integer | Nowa 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
Nazwa | Typ | Opis |
---|---|---|
mode | XFrameOptionsMode | Tryb opcji XFrame do ustawienia. |
Powroty
HtmlOutput
– te dane wyjściowe na potrzeby łańcuchów.