借助 HTML 服务,您可以投放可与服务器端 Apps 脚本函数互动的网页。它对于在 Google 文档、表格和表单中构建 Web 应用或添加自定义界面特别有用。您甚至可以使用它来生成电子邮件正文。
创建 HTML 文件
如需向您的 Apps 脚本项目添加 HTML 文件,请按以下步骤操作:
- 打开 Apps 脚本编辑器。
- 在左侧,依次点击“添加文件”图标 > HTML。
在 HTML 文件中,您可以编写大多数标准 HTML、CSS 和客户端 JavaScript。该网页将以 HTML5 格式提供,但如限制中所述,HTML5 的某些高级功能不可用。
您的文件还可以包含在服务器上处理的模板 scriptlet(在网页发送给用户之前),这与 PHP 类似,如模板化 HTML 部分中所述。
将 HTML 作为 Web 应用提供
如需使用 HTML 服务创建 Web 应用,您的代码必须包含一个 doGet() 函数,用于告知脚本如何提供网页。该函数必须返回一个 HtmlOutput 对象,如本示例所示。
Code.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Hello, World!
</body>
</html>基本框架就绪后,您只需保存脚本版本,然后将脚本部署为 Web 应用。
将脚本部署为 Web 应用后,您还可以将其嵌入 Google 协作平台。
将 HTML 用作 Google 文档、表格、幻灯片或表单用户界面
如果您的脚本受容器限制,HTML 服务可以在 Google 文档、表格、幻灯片或表单中显示对话框或侧边栏。(在 Google 表单中,自定义界面仅对打开表单进行修改的编辑者可见,对打开表单进行回复的用户不可见。)
与 Web 应用不同,为文档、电子表格或表单创建界面的脚本不需要特定的 doGet() 函数,您也不需要保存脚本的版本或部署脚本。相反,打开界面的函数必须将 HTML 文件作为 HtmlOutput 对象传递给活动文档、表单或电子表格的 Ui 对象的 showModalDialog()) 或 showSidebar() 方法。
这些示例还包含一些额外的便利功能:onOpen() 函数可创建自定义菜单,以便轻松打开界面;HTML 文件中的按钮可调用 google.script.host API 的特殊 close() 方法来关闭界面。
Code.gs
// Use this code for Google Docs, Slides, Forms, or Sheets.
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.createMenu('Dialog')
.addItem('Open', 'openDialog')
.addToUi();
}
function openDialog() {
var html = HtmlService.createHtmlOutputFromFile('Index');
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.showModalDialog(html, 'Dialog title');
}Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Hello, World!
<input type="button" value="Close"
onclick="google.script.host.close()" />
</body>
</html>请注意,首次显示此界面时,您必须在脚本编辑器中手动运行 onOpen() 函数,或者重新加载 Google 文档、表格或表单编辑器的窗口(这会关闭脚本编辑器)。之后,每次打开文件时,自定义菜单都应在几秒钟内显示。选择对话 > 打开以查看界面。