对于大多数编辑器插件,对话框窗口和侧边栏面板是主要的插件界面。两者均可使用标准 HTML 和 CSS 完全自定义,并且您可以使用 Google Apps 脚本的客户端-服务器通信模型在用户与侧边栏或对话框互动时运行 Apps 脚本函数。插件可以定义多个边栏和对话框,但一次只能显示一个。
如果您想阻止用户与编辑器互动,直到他们在插件界面中做出选择,请使用对话框;否则,请使用侧边栏。
对话框
对话框是覆盖主要编辑器内容的窗口面板。 Apps 脚本对话框是模态的;在打开时,用户无法与编辑器界面的其他元素互动。您可以自定义对话框的内容和大小。
插件对话框的构建方式与 Apps 脚本自定义对话框相同。一般流程如下:
- 创建一个脚本项目文件,用于定义对话框的 HTML 结构、CSS 和客户端 JavaScript 行为。请参阅编辑器插件样式指南。
- 在您希望打开对话框的服务器端代码中,调用
HtmlService.createHtmlOutputFromFile以创建表示对话框的HtmlOutput对象。或者,如果您使用的是模板化 HTML,可以调用HtmlService.createTemplateFromFile生成模板,然后调用HtmlTemplate.evaluate将其转换为HtmlOutput对象。 - 调用
Ui.showModalDialog以使用该HtmlOutput显示对话框。
对话框在打开时不会暂停服务器端脚本。客户端 JavaScript 可以使用 google.script.run 和关联的处理程序函数对服务器端进行异步调用。如需了解详情,请参阅客户端与服务器之间的通信。
文件打开对话框
文件打开对话框是预构建的对话框,可让用户从其 Google 云端硬盘中选择文件。您可以向插件添加文件打开对话框,而无需设计该对话框,但需要进行一些额外的配置。您还需要有权访问该插件的 Cloud Platform 项目,以便启用 Google Picker API。
如需了解详情,请参阅文件打开对话框。
侧边栏
边栏是显示在编辑器界面右侧的面板,也是最常见的插件界面类型。与对话框不同,在边栏打开时,您可以继续与编辑器界面的其他元素互动。边栏的宽度是固定的,但您可以自定义其内容。
您可以使用与 Apps 脚本自定义边栏相同的方式构建插件边栏。一般流程如下:
- 创建一个脚本项目文件,用于定义边栏的 HTML 结构、CSS 和客户端 JavaScript 行为。定义边栏时,请参阅编辑器插件样式指南。
在您希望侧边栏打开的服务器端代码中,调用
HtmlService.createHtmlOutputFromFile以创建表示侧边栏的HtmlOutput对象。或者,如果您使用的是模板化 HTML,可以调用HtmlService.createTemplateFromFile生成模板,然后调用HtmlTemplate.evaluate将其转换为HtmlOutput对象。插件边栏的宽度固定为 300 像素,您无法通过调用
HtmlOutput.setWidth来更改此宽度。调用
Ui.showSidebar以使用该HtmlOutput显示边栏。
侧边栏在打开时不会暂停服务器端脚本。客户端 JavaScript 可以使用 google.script.run 和关联的处理程序函数对服务器端进行异步调用。如需了解详情,请参阅客户端与服务器之间的通信。