Class HtmlOutput

HTML-вывод

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

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
Код в Html Output может включать встроенный JavaScript и CSS. (Это стандартный клиентский JavaScript, который управляет DOM, а не скрипт приложений). Весь этот контент помещается в изолированную программную среду с помощью изолированной программной среды 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 Верните данные внутри этого объекта в виде большого двоичного объекта, преобразованного в указанный тип контента.
get Blob() Blob Верните данные внутри этого объекта в виде большого двоичного объекта.
get Content() String Получает содержимое этого Html Output .
get Favicon Url() String Получает URL-адрес тега ссылки на значок значка, добавленного на страницу, путем вызова set Favicon Url(iconUrl) .
get Height() Integer Получает начальную высоту пользовательского диалогового окна в Документах, Таблицах или Формах Google.
get Meta Tags() Html Output Meta Tag[] Получает массив объектов, представляющих метатеги, добавленные на страницу с помощью вызова add Meta Tag(name, content) .
get Title() String Получает заголовок выходной страницы.
get Width() Integer Получает начальную ширину настраиваемого диалогового окна в Документах, Таблицах или Формах Google.
set Content(content) Html Output Устанавливает содержимое этого Html Output .
set Favicon Url(iconUrl) Html Output Добавляет на страницу тег ссылки для значка.
set Height(height) Html Output Устанавливает начальную высоту пользовательского диалогового окна в Документах, Таблицах или Формах Google.
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 страницы, который управляет предотвращением кликджекинга.

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

add Meta Tag(name, content)

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

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

Параметры

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

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

Html Output — этот вывод для цепочки.


append(addedContent)

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

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

Параметры

Имя Тип Описание
added Content String Добавляемый контент.

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

Html Output — этот вывод для цепочки.

Броски

Error — если HTML имеет неправильный формат.

См. также


append Untrusted(addedContent)

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

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

// Log "<b>Hello, world!</b>&lt;p&gt;Hello again, world.&lt;/p&gt;"
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.appendUntrusted('<p>Hello again, world.</p>');
Logger.log(output.getContent());

Параметры

Имя Тип Описание
added Content String Добавляемый контент.

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

Html Output — этот вывод для цепочки.

Броски

Error — если HTML очень неправильный.

См. также


as Template()

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

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
const template = output.asTemplate();

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

Html Template — новый Html Template .


clear()

Очищает текущий контент.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.clear();

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

Html Output — этот вывод для цепочки.


get As(contentType)

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

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

Параметры

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

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

Blob — данные в виде большого двоичного объекта.


get Blob()

Верните данные внутри этого объекта в виде большого двоичного объекта.

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

Blob — данные в виде большого двоичного объекта.


get Content()

Получает содержимое этого Html Output .

// Log "<b>Hello, world!</b>"
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getContent());

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

String — обслуживаемый контент.


get Favicon Url()

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

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

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

String — URL-адрес изображения значка.


get Height()

Получает начальную высоту пользовательского диалогового окна в Документах, Таблицах или Формах Google. Если вместо этого Html Output публикуются как веб-приложение, этот метод возвращает null . Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setHeight(height) в клиентском коде.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);
Logger.log(output.getHeight());

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

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


get Meta Tags()

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

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

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

Html Output Meta Tag[] — Массив объектов, представляющих метатеги, добавленные на страницу с помощью вызова add Meta Tag(name, content) .


get Title()

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

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getTitle());

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

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


get Width()

Получает начальную ширину настраиваемого диалогового окна в Документах, Таблицах или Формах Google. Если вместо этого Html Output публикуются как веб-приложение, этот метод возвращает null . Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setWidth(width) в клиентском коде.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);
Logger.log(output.getWidth());

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

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


set Content(content)

Устанавливает содержимое этого Html Output .

const output = HtmlService.createHtmlOutput();
output.setContent('<b>Hello, world!</b>');

Параметры

Имя Тип Описание
content String Контент для обслуживания.

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

Html Output — этот вывод для цепочки.

Броски

Error — если HTML имеет неправильный формат.


set Favicon Url(iconUrl)

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

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');

Параметры

Имя Тип Описание
icon Url String URL-адрес изображения значка с расширением изображения, указывающим тип изображения.

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

Html Output — этот вывод для цепочки.


set Height(height)

Устанавливает начальную высоту пользовательского диалогового окна в Документах, Таблицах или Формах Google. Если вместо этого Html Output публикуются как веб-приложение, этот метод не имеет никакого эффекта. Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setHeight(height) в клиентском коде.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);

Параметры

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

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

Html Output — этот вывод для цепочки.


set Sandbox Mode(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 Используемый режим песочницы.

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

Html Output — этот вывод для цепочки.


set Title(title)

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

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setTitle('My First Page');

Параметры

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

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

Html Output — этот вывод для цепочки.


set Width(width)

Устанавливает начальную ширину пользовательского диалогового окна в Документах, Таблицах или Формах Google. Если вместо этого Html Output публикуются как веб-приложение, этот метод не имеет никакого эффекта. Чтобы изменить размер уже открытого диалогового окна, вызовите google.script.host.setWidth(width) в клиентском коде.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);

Параметры

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

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

Html Output — этот вывод для цепочки.


set XFrame Options Mode(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('<b>Hello, world!</b>');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

Параметры

Имя Тип Описание
mode XFrameOptionsMode Режим опций XFrame, который нужно установить.

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

Html Output — этот вывод для цепочки.