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