Class HtmlOutput

HtmlOutput

Объект HtmlOutput , который может быть предоставлен из скрипта. Из соображений безопасности скрипты не могут напрямую возвращать HTML в браузер. Вместо этого они должны очищать его, чтобы предотвратить выполнение вредоносных действий. Очищенный HTML можно вернуть следующим образом:

function doGet() {
  return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
}
Код в HtmlOutput может включать встроенный JavaScript и CSS. (Это стандартный клиентский JavaScript, который манипулирует DOM, а не Apps Script). Весь этот контент изолирован с помощью iframe-песочницы . Для получения дополнительной информации см. руководство по ограничениям в HTML-сервисе .

Методы

Метод Тип возвращаемого значения Краткое описание
add Meta Tag(name, content) Html Output Добавляет метатег на страницу.
append(addedContent) Html Output Добавляет новое содержимое к содержимому этого Html Output .
append Untrusted(addedContent) Html Output Добавляет новое содержимое к содержимому этого Html Output , используя контекстное экранирование.
as Template() Html Template Возвращает Html Template основанный на этом Html Output .
clear() Html Output Очищает текущее содержимое.
get As(contentType) Blob Возвращает данные, содержащиеся в этом объекте, в виде двоичных данных (blob), преобразованных в указанный тип содержимого.
get Blob() Blob Возвращает данные, содержащиеся в этом объекте, в виде двоичных данных (blob).
get Content() String Gets the content of this Html Output .
get Favicon Url() String Получает URL-адрес тега ссылки favicon, добавленного на страницу, путем вызова set Favicon Url(iconUrl) .
get Height() Integer Получает начальную высоту пользовательского диалогового окна в Google Docs, Sheets или Forms.
get Meta Tags() Html Output Meta Tag[] Получает массив объектов, представляющих метатеги, добавленные на страницу, путем вызова add Meta Tag(name, content) .
get Title() String Получает заголовок выходной страницы.
get Width() Integer Получает начальную ширину пользовательского диалогового окна в Google Docs, Sheets или Forms.
set Content(content) Html Output Задает содержимое этого Html Output .
set Favicon Url(iconUrl) Html Output Добавляет на страницу тег ссылки для значка сайта (favicon).
set Height(height) Html Output Задает начальную высоту пользовательского диалогового окна в Google Docs, Sheets или Forms.
set Sandbox Mode(mode) Html Output Этот метод теперь не работает — ранее он устанавливал sandbox mode используемый для клиентских скриптов.
set Title(title) Html Output Задает заголовок выходной страницы.
set Width(width) Html Output Задает начальную ширину пользовательского диалогового окна в Google Документах, Таблицах или Формах.
set XFrame Options Mode(mode) Html Output Задает состояние заголовка X-Frame-Options страницы, который управляет предотвращением кликджекинга.

Подробная документация

addMetaTag(name, content)

Добавляет метатег на страницу. Метатеги, включенные непосредственно в HTML-файл Apps Script, игнорируются. Допускаются только следующие метатеги:

<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');

Параметры

Имя Тип Описание
name String Значение атрибута name метатега.
content String Значение атрибута content метатега.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.


append(addedContent)

Добавляет новое содержимое к содержимому этого HtmlOutput . Используйте это только для содержимого из надежного источника, поскольку оно не экранируется.

// 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());

Параметры

Имя Тип Описание
added Content String Содержимое для добавления.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.

Броски

Error — если HTML-код некорректен

См. также


appendUntrusted(addedContent)

Добавляет новое содержимое к содержимому этого HtmlOutput , используя контекстное экранирование.

Этот метод корректно экранирует содержимое в зависимости от текущего состояния HtmlOutput , так что результатом является безопасная строка без разметки или побочных эффектов. Используйте его вместо метода append всякий раз, когда добавляете контент из ненадежного источника, например, от пользователя, чтобы избежать случайного возникновения уязвимости межсайтового скриптинга (XSS), когда добавленный контент или разметка приводят к неожиданному выполнению кода.

// 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());

Параметры

Имя Тип Описание
added Content String Содержимое для добавления.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.

Броски

Error — если HTML-код сильно некорректен.

См. также


asTemplate()

Возвращает объект HtmlTemplate основанный на этом HtmlOutput . Этот метод можно использовать для постепенного создания шаблона. Будущие изменения в HtmlOutput также влияют на содержимое HtmlTemplate .

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

Возвращаться

HtmlTemplate — новый HtmlTemplate .


clear()

Очищает текущее содержимое.

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

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.


getAs(contentType)

Возвращает данные из этого объекта в виде двоичных данных (blob), преобразованных в указанный тип содержимого. Этот метод добавляет соответствующее расширение к имени файла — например, "myfile.pdf". Однако он предполагает, что часть имени файла, следующая за последней точкой (если таковая имеется), является существующим расширением, которое следует заменить. Следовательно, "ShoppingList.12.25.2014" становится "ShoppingList.12.25.pdf".

Чтобы просмотреть ежедневные квоты на конверсии, см. раздел «Квоты для сервисов Google» . На вновь созданные домены Google Workspace могут временно распространяться более строгие квоты.

Параметры

Имя Тип Описание
content Type String MIME-тип для преобразования. Для большинства файлов .blob единственным допустимым вариантом является 'application/pdf' . Для изображений в форматах BMP, GIF, JPEG или PNG также допустимы любые из 'image/bmp' , 'image/gif' , 'image/jpeg' или 'image/png' . Для документа Google Docs также допустим 'text/markdown' .

Возвращаться

Blob — Данные в виде двоичных данных (blob).


getBlob()

Возвращает данные, содержащиеся в этом объекте, в виде двоичных данных (blob).

Возвращаться

Blob — Данные в виде двоичных данных (blob).


getContent()

Получает содержимое этого объекта HtmlOutput .

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

Возвращаться

String — Содержимое, которое предоставляется.


getFaviconUrl()

Получает URL-адрес тега ссылки favicon, добавленного на страницу, путем вызова функции setFaviconUrl(iconUrl) . Теги ссылок favicon, включенные непосредственно в HTML-файл Apps Script, игнорируются.

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

Возвращаться

String — URL изображения значка сайта (favicon).


getHeight()

Получает начальную высоту пользовательского диалогового окна в Google Docs, Sheets или Forms. Если HtmlOutput опубликован как веб-приложение, этот метод возвращает null . Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setHeight(height) в коде на стороне клиента.

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

Возвращаться

Integer — высота в пикселях.


getMetaTags()

Получает массив объектов, представляющих метатеги, добавленные на страницу путем вызова функции addMetaTag(name, content) . Метатеги, включенные непосредственно в HTML-файл Apps Script, игнорируются.

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(),
);

Возвращаться

HtmlOutputMetaTag[] — массив объектов, представляющих метатеги, добавленные на страницу путем вызова функции addMetaTag(name, content) .


getTitle()

Получает заголовок выходной страницы. Обратите внимание, что HTML-элемент <title> игнорируется.

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

Возвращаться

String — Заголовок страницы.


getWidth()

Получает начальную ширину пользовательского диалогового окна в Google Docs, Sheets или Forms. Если HtmlOutput опубликован как веб-приложение, этот метод возвращает null . Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setWidth(width) в коде на стороне клиента.

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

Возвращаться

Integer — ширина в пикселях.


setContent(content)

Задает содержимое этого объекта HtmlOutput .

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

Параметры

Имя Тип Описание
content String Контент для показа.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.

Броски

Error — если HTML-код некорректен


setFaviconUrl(iconUrl)

Добавляет на страницу тег ссылки для значка сайта (favicon). Теги ссылок для значка сайта, включенные непосредственно в HTML-файл Apps Script, игнорируются.

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

Параметры

Имя Тип Описание
icon Url String URL изображения значка сайта (favicon), где расширение изображения указывает на его тип.

Возвращаться

HtmlOutput — This output, for chaining.


setHeight(height)

Устанавливает начальную высоту пользовательского диалогового окна в Google Docs, Sheets или Forms. Если HtmlOutput опубликован как веб-приложение, этот метод не оказывает никакого эффекта. Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setHeight(height) в коде на стороне клиента.

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

Параметры

Имя Тип Описание
height Integer Новая высота в пикселях; значение null соответствует значению по умолчанию.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.


setSandboxMode(mode)

Этот метод теперь не работает — ранее он устанавливал sandbox mode используемый для клиентских скриптов. Для защиты пользователей от вредоносного HTML или JavaScript, клиентский код, предоставляемый службой HTML, выполняется в защищенной песочнице, которая накладывает ограничения на код. Первоначально этот метод позволял авторам скриптов выбирать между различными версиями песочницы, но теперь все скрипты используют режим IFRAME независимо от установленного режима песочницы. Для получения дополнительной информации см. руководство по ограничениям в службе HTML .

Режим IFRAME накладывает гораздо меньше ограничений, чем другие режимы песочницы, и работает быстрее всего, но вообще не работает в некоторых старых браузерах, включая Internet Explorer 9. Режим песочницы можно прочитать в клиентском скрипте, изучив свойство google.script.sandbox.mode . Обратите внимание, что это свойство возвращает фактический режим на стороне клиента, который может отличаться от режима, запрошенного на сервере, если запрошенный режим не поддерживается в браузере пользователя.

<!-- Read the sandbox mode (in a client-side script). -->
<script>
  alert(google.script.sandbox.mode);
</script>

Параметры

Имя Тип Описание
mode Sandbox Mode Режим песочницы для использования.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.


setTitle(title)

Задает заголовок выходной страницы. Для веб-приложений это заголовок всей страницы, а для HtmlOutput , отображаемого в Google Sheets, это заголовок диалогового окна.

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

Параметры

Имя Тип Описание
title String Новое название.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.


setWidth(width)

Устанавливает начальную ширину пользовательского диалогового окна в Google Docs, Sheets или Forms. Если HtmlOutput опубликован как веб-приложение, этот метод не оказывает никакого эффекта. Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setWidth(width) в коде на стороне клиента.

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

Параметры

Имя Тип Описание
width Integer Новая ширина в пикселях; значение null соответствует значению по умолчанию.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.


setXFrameOptionsMode(mode)

Задает состояние заголовка X-Frame-Options страницы, который управляет предотвращением кликджекинга.

Установка параметра XFrameOptionsMode.ALLOWALL позволяет любому сайту встраивать страницу в iframe, поэтому разработчику следует реализовать собственную защиту от кликджекинга.

Если в скрипте не задан режим X-Frame-Options , Apps Script использует режим 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);

Параметры

Имя Тип Описание
mode XFrameOptionsMode Режим параметров XFrame для установки.

Возвращаться

HtmlOutput — Этот вывод используется для создания цепочек сообщений.