Obiekt HtmlOutput
, który można wyświetlać za pomocą skryptu. Ze względów bezpieczeństwa skrypty nie mogą bezpośrednio zwracać kodu HTML do przeglądarki. Zamiast tego należy go oczyścić, aby nie mógł wykonywać złośliwych działań. Zweryfikowany kod HTML możesz zwrócić w ten sposób:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }Kod w
HtmlOutput
może zawierać osadzony kod JavaScript i CSS. (to jest standardowy kod JavaScript po stronie klienta, który modyfikuje DOM, a nie Apps Script). Cała ta treść jest wyświetlana w trybie piaskownicy przy użyciu piaskownicy iframe. Więcej informacji znajdziesz w przewodniku po ograniczeniach dotyczących usługi HTML.Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Dodaje metatag do strony. |
append(addedContent) | HtmlOutput | Dołącza nową treść do sekcji HtmlOutput . |
appendUntrusted(addedContent) | HtmlOutput | Dodaje nową treść do elementu HtmlOutput , stosując zmianę znaczenia. |
asTemplate() | HtmlTemplate | Zwraca obiekt HtmlTemplate obsługiwany przez zasadę HtmlOutput . |
clear() | HtmlOutput | Czyści bieżącą zawartość. |
getAs(contentType) | Blob | Zwraca dane wewnątrz tego obiektu jako obiekt blob przekonwertowany na określony typ treści. |
getBlob() | Blob | Zwraca dane wewnątrz tego obiektu jako blob. |
getContent() | String | Pobiera zawartość HtmlOutput . |
getFaviconUrl() | String | Pobiera adres URL favikony dodanej do strony przez wywołanie setFaviconUrl(iconUrl) . |
getHeight() | Integer | Początkowa wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
getMetaTags() | HtmlOutputMetaTag[] | Pobiera tablicę obiektów reprezentujących metatagi dodane do strony przez wywołanie addMetaTag(name, content) . |
getTitle() | String | Pobiera tytuł strony wyjściowej. |
getWidth() | Integer | Początkowa szerokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
setContent(content) | HtmlOutput | Ustawia treść elementu HtmlOutput . |
setFaviconUrl(iconUrl) | HtmlOutput | Dodaje do strony tag linku do favikony. |
setHeight(height) | HtmlOutput | Określa początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. |
setSandboxMode(mode) | HtmlOutput | Ta metoda nie ma już skutków – wcześniej ustawiona była zasada sandbox
mode używana w skryptach 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 na stronie, który zapobiega zapobieganiem przejęciom 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 meta tagu. |
content | String | Wartość atrybutu content metatagu. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
append(addedContent)
Dołącza nową treść do sekcji HtmlOutput
. Używaj go tylko w przypadku treści z zaufanego źródła, ponieważ nie ma on znaczenia.
// 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. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
Narzuty
Error
– nieprawidłowy kod HTML
Zobacz też
appendUntrusted(addedContent)
Dodaje nową treść do elementu HtmlOutput
, stosując zmianę znaczenia.
Ta metoda prawidłowo zmienia znaczenie treści w zależności od bieżącego stanu właściwości HtmlOutput
, dzięki czemu wynik to bezpieczny ciąg znaków bez żadnych znaczników ani dodatkowych elementów strony. Używaj tej metody zamiast korzystać z dołączania za każdym razem, gdy dodajesz treści z niezaufanego źródła, np. od użytkownika, aby uniknąć przypadkowego uruchomienia błędu cross-site scripting (XSS), który wiąże się z nieoczekiwanym wykonaniem 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. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
Narzuty
Error
– kod HTML jest bardzo nieprawidłowo sformatowany.
Zobacz też
asTemplate()
Zwraca obiekt HtmlTemplate
obsługiwany przez zasadę HtmlOutput
. Ta metoda może służyć do stopniowego tworzenia szablonu. Przyszłe zmiany w HtmlOutput
będą miały wpływ na zawartość HtmlTemplate
.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Zwróć
HtmlTemplate
– nowa HtmlTemplate
.
clear()
Czyści bieżącą zawartość.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
getAs(contentType)
Zwraca dane wewnątrz tego obiektu jako obiekt blob przekonwertowany na określony typ treści. Ta metoda dodaje odpowiednie rozszerzenie do nazwy pliku, np. „"myfile.pdf"”. Zakładamy jednak, że część nazwy pliku po ostatnim okresie (jeśli w ogóle) jest rozszerzeniem, które należy zastąpić. W związku z tym "ShoppingList.12.25.2014" zmienia się w "ShoppingList.12.25.pdf".
Aby sprawdzić dzienne limity konwersji, zobacz Limity usług Google. Nowo utworzone domeny Google Workspace mogą podlegać tymczasowym ograniczeniom.
Parametry
Nazwa | Typ | Opis |
---|---|---|
contentType | String | Typ MIME, na który ma zostać przekonwertowane. W większości blobów 'application/pdf' jest jedyną prawidłową opcją. W przypadku obrazów w formacie BMP, GIF, JPEG lub PNG prawidłowy jest też każdy z tych formatów: 'image/bmp' , 'image/gif' , 'image/jpeg' lub 'image/png' . |
Zwróć
Blob
– dane jako obiekt blob.
getBlob()
getContent()
Pobiera zawartość HtmlOutput
.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Zwróć
String
– wyświetlane treści;
getFaviconUrl()
Pobiera adres URL favikony dodanej do strony przez wywołanie setFaviconUrl(iconUrl)
. Tagi 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();
Zwróć
String
– adres URL obrazu favikony.
getHeight()
Początkowa wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput
został opublikowany jako aplikacja internetowa, ta metoda zwraca null
. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod
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());
Zwróć
Integer
– wysokość w pikselach,
getMetaTags()
Pobiera tablicę obiektów reprezentujących 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());
Zwróć
HtmlOutputMetaTag[]
– tablica obiektów reprezentujących metatagi dodane do strony przez wywołanie addMetaTag(name, content)
.
getTitle()
Pobiera tytuł strony wyjściowej. Element <title> HTML jest ignorowany.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Zwróć
String
– tytuł strony;
getWidth()
Początkowa szerokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli HtmlOutput
został opublikowany jako aplikacja internetowa, ta metoda zwraca null
. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod
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());
Zwróć
Integer
– szerokość w pikselach;
setContent(content)
Ustawia treść elementu HtmlOutput
.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parametry
Nazwa | Typ | Opis |
---|---|---|
content | String | Treść, która ma zostać wyświetlona. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
Narzuty
Error
– nieprawidłowy kod HTML
setFaviconUrl(iconUrl)
Dodaje do strony tag linku do favikony. Tagi 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 z rozszerzeniem graficznym wskazującym jego typ. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
setHeight(height)
Określa początkową wysokość okna niestandardowego w Dokumentach, Arkuszach lub Formularzach Google. Jeśli zamiast tego HtmlOutput
została opublikowana jako aplikacja internetowa, ta metoda nie przyniesie efektu. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod
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 to wartość domyślna. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
setSandboxMode(mode)
Ta metoda nie ma już skutków – wcześniej ustawiona była zasada sandbox
mode
używana w skryptach po stronie klienta. Aby chronić użytkowników przed złośliwym kodem HTML lub JavaScript, kod po stronie klienta wyświetlany z usługi HTML jest uruchamiany w bezpiecznej piaskownicy, która nakłada ograniczenia na kod. Wcześniej ta metoda pozwalała autorom skryptów wybierać różne wersje piaskownicy, ale teraz wszystkie skrypty korzystają z trybu IFRAME
niezależnie od ustawionego trybu piaskownicy. Więcej informacji znajdziesz w przewodniku po ograniczeniach dotyczących usługi HTML.
Tryb IFRAME
narzuca znacznie mniej ograniczeń niż pozostałe tryby piaskownicy i działa szybciej, ale nie działa w niektórych starszych przeglądarkach, w tym Internet Explorera 9. Tryb piaskownicy można odczytać w skrypcie po stronie klienta, sprawdzając element google.script.sandbox.mode
. Właściwość ta zwraca w kliencie rzeczywisty tryb, 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 | SandboxMode | Tryb piaskownicy, którego chcesz użyć. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
setTitle(title)
Ustawia tytuł strony wyjściowej. W przypadku aplikacji internetowych jest to tytuł całej strony, a w przypadku HtmlOutput
– wyświetlany w Arkuszach Google.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parametry
Nazwa | Typ | Opis |
---|---|---|
title | String | Nowy tytuł. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
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 efektu. Aby zmienić rozmiar okna, które zostało już otwarte, wywołaj kod
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 to wartość domyślna. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.
setXFrameOptionsMode(mode)
Ustawia stan nagłówka X-Frame-Options
na stronie, który zapobiega zapobieganiem przejęciom kliknięć.
Ustawienie XFrameOptionsMode.ALLOWALL
pozwala każdej stronie iframe na działanie strony, więc deweloper powinien zastosować własne zabezpieczenie przed takimi atakami.
Jeśli skrypt nie ustawia trybu X-Frame-Options
, Apps Script korzysta domyślnie z 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 XFrame opcji do ustawienia. |
Zwróć
HtmlOutput
– te dane wyjściowe do łańcucha.